Re: [PATCH RFC tip/core/rcu] accelerate grace period if last non-dynticked CPU

Paul E. McKenney
2010-01-27T05:20:55Z

On Tue, Jan 26, 2010 at 10:30:57PM +0100, Andi Kleen wrote:
> "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> writes:
>
> Kind of offtopic to the original patch, but I couldn't
> resist...
>
> > +config RCU_FAST_NO_HZ
> > + bool "Accelerate last non-dyntick-idle CPU's grace periods"
> > + depends on TREE_RCU && NO_HZ && SMP
>
> Having such a thing as a config option doesn't really make
> any sense to me. Who would want to recompile their kernel
> to enable/disable this? If anything it should be runtime, or better
> just unconditionally on.

It adds significant overhead on entry to dyntick-idle mode for systems
with large numbers of CPUs. :-(

> In general RCU could probably reduce its number of "weird"
> Kconfig options.
>
> While I think I have a better understanding of RCU than a lot
> of normal users I often have no clue what to set there when
> building a kernel.

One approach would be to make it be default for small numbers of CPUs
(as in systems likely to be battery powered) but not for large numbers
of CPUs. The reason I didn't do this initially is that a server-class
four-CPU system would have no need for this, but a four-core cellphone
most definitely would. So I just created another config variable.

In any case, I do agree with your point about reducing the number of
config variables.

Thanx, Paul