Re: [PATCH 2/4] timer: relax tick stop in idle entry

Paul E. McKenney
2015-11-16T23:28:28Z

On Mon, Nov 16, 2015 at 03:15:03PM -0800, Jacob Pan wrote:
> On Mon, 16 Nov 2015 14:31:17 -0800
> "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:
>
> > > Either one works but my concern is that users may not realize the
> > > intricate CONFIG_ options and how they translate into energy
> > > savings. Consulted with Josh, it seems we could add a check here to
> > > recognize the forced idle state and relax rcu_needs_cpu() to return
> > > false even it has callbacks. Since we are blocking everybody for a
> > > short time (5 ticks default). It should not impact synchronize and
> > > kfree rcu.
> >
> > Or we could just set things up so that whatever Kconfig you are using
> > to enable this state causes CONFIG_RCU_NOCB_CPU_ALL to also be
> > enabled. Or that causes CONFIG_RCU_FAST_NO_HZ to also be enabled, if
> > that works better for you.
>
> That would be great, we can work this out once the patch is
> finalized. This is not a hard dependency in that it only affects the
> efficiency of idle injection.

Is this mostly an special-purpose embedded thing, or do you expect distros
to be enabling this? If the former, I suggest CONFIG_RCU_NOCB_CPU_ALL,
but if distros are doing this for general-purpose workloads, I instead
suggest CONFIG_RCU_FAST_NO_HZ.

But as you say, we can work this out later. Figured I should ask now,
though, just to get people thinking about it.

Thanx, Paul