Re: [mm][RFC][PATCH 0/11] mm accessor updates.

Andi Kleen
2009-12-17T08:54:33Z

On Thu, Dec 17, 2009 at 09:45:34AM +0100, Peter Zijlstra wrote:
> On Thu, 2009-12-17 at 09:40 +0100, Andi Kleen wrote:
> > 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.
>
> Right, so one thing we could do is always have preemptible rcu present
> in another RCU flavour, like
>
> rcu_read_lock_sleep()
> rcu_read_unlock_sleep()
> call_rcu_sleep()
>
> or whatever name that would be, and have PREEMPT_RCU=y only flip the
> regular rcu implementation between the sched/sleep one.

That could work yes.

-Andi

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