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?

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to