Messages in this thread | | | Date | Thu, 17 Dec 2009 06:45:51 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [mm][RFC][PATCH 0/11] mm accessor updates. |
| |
On Thu, Dec 17, 2009 at 09:54:30AM +0100, Andi Kleen wrote: > 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.
OK, I have to ask...
Why not just use the already-existing SRCU in this case?
Thanx, Paul
| |