Messages in this thread | | | Date | Sat, 21 Feb 2015 15:58:06 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH tip/core/rcu 0/4] Programmatic nestable expedited grace periods |
| |
On Sat, Feb 21, 2015 at 03:12:01PM +0000, Mathieu Desnoyers wrote: > ----- 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 ?
Good points, but they did measure this somehow. Wouldn't some ftrace magic get this result?
Thanx, Paul
> Thanks, > > Mathieu > > > > > - Josh Triplett > > > > -- > Mathieu Desnoyers > EfficiOS Inc. > http://www.efficios.com >
| |