lkml.org 
[lkml]   [2009]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [mm][RFC][PATCH 0/11] mm accessor updates.
On Wed, Dec 16, 2009 at 11:57:04PM +0100, Peter Zijlstra wrote:
> On Wed, 2009-12-16 at 19:31 +0900, KAMEZAWA Hiroyuki wrote:
>
> > The problem of range locking is more than mmap_sem, anyway. I don't think
> > it's possible easily.
>
> We already have a natural range lock in the form of the split pte lock.
>
> If we make the vma lookup speculative using RCU, we can use the pte lock

One problem is here that mmap_sem currently contains sleeps
and RCU doesn't work for blocking operations until a custom
quiescent period is defined.

> to verify we got the right vma, because munmap requires the pte lock to
> complete the unmap.

Ok.

>
> The fun bit is dealing with the fallout if we got it wrong, since we
> might then have instantiated page-tables not covered by a vma just to
> take the pte lock, it also requires we RCU free the page-tables iirc.

That makes sense.

>
> There are a few interesting cases like stack extention and hugetlbfs,
> but I think we could start by falling back to mmap_sem locked behaviour
> if the speculative thing fails.

You mean fall back to mmap_sem if anything sleeps? Maybe. Would need
to check how many such points are really there.

-Andi

--
ak@linux.intel.com -- Speaking for myself only.


\
 
 \ /
  Last update: 2009-12-17 09:43    [W:0.178 / U:0.720 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site