Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751370AbbBVGK7 (ORCPT ); Sun, 22 Feb 2015 01:10:59 -0500 Received: from e32.co.us.ibm.com ([32.97.110.150]:35540 "EHLO e32.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751072AbbBVGK5 (ORCPT ); Sun, 22 Feb 2015 01:10:57 -0500 Date: Sat, 21 Feb 2015 22:10:50 -0800 From: "Paul E. McKenney" To: Josh Triplett Cc: Arjan van de Ven , Peter Zijlstra , linux-kernel@vger.kernel.org, mingo@kernel.org, laijs@cn.fujitsu.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, tglx@linutronix.de, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com, bobby.prani@gmail.com Subject: Re: [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods Message-ID: <20150222061050.GX5745@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <20150220050850.GA32639@linux.vnet.ibm.com> <20150220091107.GN21418@twins.programming.kicks-ass.net> <20150220163737.GL5745@linux.vnet.ibm.com> <20150220165409.GU5029@twins.programming.kicks-ass.net> <20150220171442.GM5745@linux.vnet.ibm.com> <54E76FB7.4060005@linux.intel.com> <20150220182745.GN5745@linux.vnet.ibm.com> <54E8A986.4090302@linux.intel.com> <20150222035806.GA4452@thin> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150222035806.GA4452@thin> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15022206-0005-0000-0000-000008FE3913 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1959 Lines: 45 On Sat, Feb 21, 2015 at 07:58:07PM -0800, Josh Triplett wrote: > On Sat, Feb 21, 2015 at 07:51:34AM -0800, Arjan van de Ven wrote: > > >> > > >>there's a few others as well that I'm chasing down... > > >>.. but the flip side, prior to running ring 3 code, why NOT do fast expedites? > > > > > >It would be good to have before-and-after measurements of actual > > >boot time. Are these numbers available? > > > > To show the boot time, I'm using the timestamp of the "Write protecting" line, > > that's pretty much the last thing we print prior to ring 3 execution. > > That's a little sad; we ought to be write-protecting kernel read-only > data as *early* as possible. > > > A kernel with default RCU behavior (inside KVM, only virtual devices) looks like this: > > > > [ 0.038724] Write protecting the kernel read-only data: 10240k > > > > a kernel with expedited RCU (using the command line option, so that I don't have > > to recompile between measurements and thus am completely oranges-to-oranges) > > > > [ 0.031768] Write protecting the kernel read-only data: 10240k > > > > which, in percentage, is an 18% improvement. > > Nice improvement, but that suggests that we're spending far too much > time waiting on RCU grace periods at boot time. Let's see... 0.038724-0.031768=0.006956, or about seven milliseconds. This might be as many as ten grace periods, but is more likely to be about two of them. Of course, this counts only the grace periods after the scheduler starts, as those prior to scheduler start are no-ops, courtesy of your single-CPU optimization. So, how many grace periods between scheduler start and init spawning do you feel would be appropriate? Thanx, Paul -- 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/