Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751448AbbBUPMO (ORCPT ); Sat, 21 Feb 2015 10:12:14 -0500 Received: from mail.efficios.com ([78.47.125.74]:34119 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750987AbbBUPML (ORCPT ); Sat, 21 Feb 2015 10:12:11 -0500 Date: Sat, 21 Feb 2015 15:12:01 +0000 (UTC) From: Mathieu Desnoyers To: Josh Triplett Cc: Peter Zijlstra , "Paul E. McKenney" , linux-kernel@vger.kernel.org, mingo@kernel.org, laijs@cn.fujitsu.com, dipankar@in.ibm.com, akpm@linux-foundation.org, tglx@linutronix.de, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com, bobby prani Message-ID: <1233076904.153850.1424531521918.JavaMail.zimbra@efficios.com> In-Reply-To: <20150221060427.GA1408@thin> 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> <20150221060427.GA1408@thin> Subject: Re: [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [173.246.22.116] X-Mailer: Zimbra 8.0.7_GA_6021 (ZimbraWebClient - FF35 (Linux)/8.0.7_GA_6021) Thread-Topic: Programmatic nestable expedited grace periods Thread-Index: F4h66ygAgeEDqbej9+LSb1ZVCSkwjw== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2656 Lines: 59 ----- Original Message ----- > From: "Josh Triplett" > To: "Peter Zijlstra" > Cc: "Paul E. McKenney" , linux-kernel@vger.kernel.org, mingo@kernel.org, > laijs@cn.fujitsu.com, dipankar@in.ibm.com, akpm@linux-foundation.org, "mathieu desnoyers" > , tglx@linutronix.de, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, > dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com, "bobby prani" > Sent: Saturday, February 21, 2015 1:04:28 AM > Subject: Re: [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods > > On Fri, Feb 20, 2015 at 05:54:09PM +0100, Peter Zijlstra wrote: > > On Fri, Feb 20, 2015 at 08:37:37AM -0800, Paul E. McKenney wrote: > > > On Fri, Feb 20, 2015 at 10:11:07AM +0100, Peter Zijlstra wrote: > > > > Does it really make a machine boot much faster? Why are people using > > > > synchronous gp primitives if they care about speed? Should we not fix > > > > that instead? > > > > > > The report I heard was that it provided 10-15% faster boot times. > > > > That's not insignificant; got more details? I think we should really > > look at why people are using the sync primitives. > > Paul, what do you think about adding a compile-time debug option to > synchronize_rcu() that causes it to capture the time on entry and exit > and print the duration together with the file:line of the caller? > Similar to initcall_debug, but for blocking calls to synchronize_rcu(). > Put that together with initcall_debug, and you'd have a pretty good idea > of where that holds up boot. > > We do want early boot to run as asynchronously as possible, and to avoid > having later bits of boot waiting on a synchronize_rcu from earlier bits > of boot. Switching a caller over to call_rcu() doesn't actually help if > it still has to finish a grace period before it can allow later bits to > run. Ideally, we ought to be able to work out the "depth" of boot in > grace-periods. > > Has anyone wired initcall_debug up to a bootchart-like graph? The information about begin/end of synchronize_rcu, as well as begin/end of rcu_barrier() seems to be very relevant here. This should perhaps be covered tracepoints ? Isn't it already ? Thanks, Mathieu > > - Josh Triplett > -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com -- 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/