lkml.org 
[lkml]   [2015]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods
----- Original Message -----
> From: "Josh Triplett" <josh@joshtriplett.org>
> To: "Peter Zijlstra" <peterz@infradead.org>
> Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>, linux-kernel@vger.kernel.org, mingo@kernel.org,
> laijs@cn.fujitsu.com, dipankar@in.ibm.com, akpm@linux-foundation.org, "mathieu desnoyers"
> <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" <bobby.prani@gmail.com>
> 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


\
 
 \ /
  Last update: 2015-02-21 16:21    [W:0.107 / U:0.680 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site