Re: [RFC PATCH] asynchronous page fault.

From: Benjamin Herrenschmidt
Date: Sat Jan 02 2010 - 16:46:06 EST


On Fri, 2009-12-25 at 10:51 +0900, KAMEZAWA Hiroyuki wrote:
> Speculative page fault v3.
>
> This version is much simpler than old versions and doesn't use mm_accessor
> but use RCU. This is based on linux-2.6.33-rc2.
>
> This patch is just my toy but shows...
> - Once RB-tree is RCU-aware and no-lock in readside, we can avoid mmap_sem
> in page fault.
> So, what we need is not mm_accessor, but RCU-aware RB-tree, I think.
>
> But yes, I may miss something critical ;)
>
> After patch, statistics perf show is following. Test progam is attached.

One concern I have with this, not that it can't be addressed but we'll
have to be extra careful, is that the mmap_sem in the page fault path
tend to protect more than just the VMA tree.

One example on powerpc is the slice map used to keep track of page
sizes. I would also need some time to convince myself that I don't have
some bits of the MMU hash code that doesn't assume that holding the
mmap_sem for writing prevents a PTE from being changed from !present to
present.

I wouldn't be surprised if there were more around fancy users of
->fault(), things like spufs, the DRM, etc...

Cheers,
Ben.


--
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/