Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1764145AbZLQIqV (ORCPT ); Thu, 17 Dec 2009 03:46:21 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753898AbZLQIqU (ORCPT ); Thu, 17 Dec 2009 03:46:20 -0500 Received: from bombadil.infradead.org ([18.85.46.34]:58010 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754020AbZLQIqT (ORCPT ); Thu, 17 Dec 2009 03:46:19 -0500 Subject: Re: [mm][RFC][PATCH 0/11] mm accessor updates. From: Peter Zijlstra To: Andi Kleen Cc: KAMEZAWA Hiroyuki , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , cl@linux-foundation.org, "akpm@linux-foundation.org" , "mingo@elte.hu" , minchan.kim@gmail.com In-Reply-To: <20091217084046.GA9804@basil.fritz.box> References: <20091216120011.3eecfe79.kamezawa.hiroyu@jp.fujitsu.com> <20091216101107.GA15031@basil.fritz.box> <20091216191312.f4655dac.kamezawa.hiroyu@jp.fujitsu.com> <20091216102806.GC15031@basil.fritz.box> <20091216193109.778b881b.kamezawa.hiroyu@jp.fujitsu.com> <1261004224.21028.500.camel@laptop> <20091217084046.GA9804@basil.fritz.box> Content-Type: text/plain; charset="UTF-8" Date: Thu, 17 Dec 2009 09:45:34 +0100 Message-ID: <1261039534.27920.67.camel@laptop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1154 Lines: 30 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/