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

Andi Kleen
2010-01-27T12:11:58Z

> From what I can see, most people would want RCU_FAST_NO_HZ=n. Only

Most people do not recompile their kernel. And even those
that do most likely will not have enough information to make
an informed choice at build time.

> people with extreme power-consumption concerns would likely care enough
> to select this.

What would a distributor shipping binary kernels use?

> > But I think in this case scalability is not the key thing to check
> > for, but expected idle latency. Even on a large system if near all
> > CPUs are idle spending some time to keep them idle even longer is a good
> > thing. But only if the CPUs actually benefit from long idle.
>
> The larger the number of CPUs, the lower the probability of all of them
> going idle, so the less difference this patch makes. Perhaps some

My shiny new 8 CPU threads desktop is not less likely to go idle when I do
nothing on it than an older dual core 2 CPU thread desktop.

Especially not given all the recent optimizations (no idle tick)
in this area etc.

And core/thread counts are growing. In terms of CPU numbers today's
large machine is tomorrow's small machine.

> I do need to query from interrupt context, but could potentially have a
> notifier set up state for me. Still, the real question is "how important
> is a small reduction in power consumption?"

I think any (measurable) power saving is important. Also on modern Intel
CPUs power saving often directly translates into performance:
if more cores are idle the others can clock faster.

> I took a quick look at te pm_qos_latency, and, as you note, it doesn't
> really seem to be designed to handle this situation.

It could be extended for it. It's just software after all,
we can change it.

>
> And we really should not be gold-plating this thing. I have one requester
> (off list) who needs it badly, and who is willing to deal with a kernel
> configuration parameter. I have no other requesters, and therefore
> cannot reasonably anticipate their needs. As a result, we cannot justify
> building any kind of infrastructure beyond what is reasonable for the
> single requester.

If this has a measurable power advantage I think it's better to
do the extra steps to make it usable everywhere, with automatic heuristics
and no Kconfig hacks.

If it's not then it's probably not worth merging.

-Andi
--
ak@linux.intel.com -- Speaking for myself only.