Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932152AbaJUIWJ (ORCPT ); Tue, 21 Oct 2014 04:22:09 -0400 Received: from casper.infradead.org ([85.118.1.10]:50040 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750964AbaJUIWG (ORCPT ); Tue, 21 Oct 2014 04:22:06 -0400 Date: Tue, 21 Oct 2014 10:22:03 +0200 From: Peter Zijlstra To: Linus Torvalds Cc: Paul McKenney , Thomas Gleixner , Andrew Morton , Rik van Riel , Mel Gorman , Oleg Nesterov , Ingo Molnar , Minchan Kim , KAMEZAWA Hiroyuki , Al Viro , Lai Jiangshan , Davidlohr Bueso , Linux Kernel Mailing List , linux-mm Subject: Re: [RFC][PATCH 4/6] SRCU free VMAs Message-ID: <20141021082203.GL23531@worktop.programming.kicks-ass.net> References: <20141020215633.717315139@infradead.org> <20141020222841.419869904@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.22.1 (2013-10-16) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 20, 2014 at 04:41:45PM -0700, Linus Torvalds wrote: > On Mon, Oct 20, 2014 at 2:56 PM, Peter Zijlstra wrote: > > Manage the VMAs with SRCU such that we can do a lockless VMA lookup. > > Can you explain why srcu, and not plain regular rcu? > > Especially as you then *note* some of the problems srcu can have. > Making it regular rcu would also seem to make it possible to make the > seqlock be just a seqcount, no? Ah, the reason I did the seqlock is because the read side will spin-wait for &1 to go away. If the write side is preemptible that's horrid. I used seqlock because that takes a lock (and thus disables preemption) on the write side, but I could equally have done: preempt_disable(); write_seqcount_begin(); ... write_seqcount_end(); preempt_disable(); Since the lock is indeed superfluous, we're already fully serialized by mmap_sem in this path. Using regular RCU isn't sufficient, because of PREEMPT_RCU. -- 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/