Re: [PATCH] cpuidle: menu: allow state 0 to be disabled

From: Nicholas Piggin
Date: Fri Jun 30 2017 - 04:35:36 EST


On Thu, 29 Jun 2017 22:57:33 +0200
"Rafael J. Wysocki" <rafael@xxxxxxxxxx> wrote:

> On Mon, Jun 26, 2017 at 7:38 AM, Nicholas Piggin <npiggin@xxxxxxxxx> wrote:
> > The menu driver does not allow state0 to be disabled completely.
> > If it is disabled but other enabled states don't meet latency
> > requirements, it is still used.
> >
> > Fix this by starting with the first enabled idle state. Fall back
> > to state 0 if no idle states are enabled (arguably this should be
> > -EINVAL if it is attempted, but this is the minimal fix).
> >
> > Acked-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx>
> > ---
> >
> > Hi Rafael,
>
> Hi Nick,
>
> > This patch is helpful when measuring power draw of polling,
> > latency cost of idle states, etc. Please consider merging if
> > you agree.
>
> I have a slight concern about x86 where state0 is mapped to polling
> and the way it is used in general stems from that.
>
> Still, I guess we can try and see if this causes any problems to
> happen in practice, so I'm going to apply it.

Hi Rafael,

I tried to avoid changing the logic for x86, but let me know if you
spot anything or run into a problem, I will try to help fix it.

I still think it may be worth investigating whether x86 can be fixed
instead of with this special case then by adjusting its idle state
parameters (e.g., in the case of Atom). Anyway that's for another
time and doesn't affect powerpc.

Thanks,
Nick