Re: [PATCH 1/3] Fix COW D-cache aliasing on fork

From: David Miller
Date: Fri Oct 20 2006 - 18:23:04 EST


From: Linus Torvalds <torvalds@xxxxxxxx>
Date: Fri, 20 Oct 2006 15:02:39 -0700 (PDT)

> On Fri, 20 Oct 2006, Ralf Baechle wrote:
> > When I delete the call (not part of my patchset) it means 12% faster
> > fork. But I'm not proposing this for 2.6.19.
>
> I just suspect it means a _buggy_ fork.
>
> It so happens (I think), that fork is big enough that it probably flushes
> the L1 cache _anyway_.

My understanding is that this works because in Ralf's original patch
(which is the context in which he is removing the flush_cache_mm()
call), he uses kmap()/kunmap() to map the page(s) being accessed at a
kernel virtual address which will fall into the same cache color as
the user virtual address --> no alias problems.

Since he does this for every page touched on the kernel side during
dup_mmap(), the existing flush_cache_mm() call in dup_mmap() does in
fact become redundant.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/