Messages in this thread | | | Date | Wed, 27 May 2015 10:22:17 +0200 | From | Daniel Lezcano <> | Subject | Re: [PATCH] cpuidle: Do not use CPUIDLE_DRIVER_STATE_START in cpuidle.c |
| |
On 05/27/2015 03:36 AM, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > The CPUIDLE_DRIVER_STATE_START symbol is defined as 1 only if > CONFIG_ARCH_HAS_CPU_RELAX is set, otherwise it is defined as 0. > However, if CONFIG_ARCH_HAS_CPU_RELAX is set, the first (index 0) > entry in the cpuidle driver's table of states is overwritten with > the default "poll" entry by the core. The "state" defined by the > "poll" entry doesn't provide ->enter_dead and ->enter_freeze > callbacks and its exit_latency is 0. > > For this reason, it is not necessary to use CPUIDLE_DRIVER_STATE_START > in cpuidle_play_dead() (->enter_dead is NULL, so the "poll state" > will be skipped by the loop) and in find_deepest_state() (since > exit_latency is 0, the "poll state" will become the default if the > "s->exit_latency <= latency_req" check is replaced with > "s->exit_latency < latency_req" which may only matter for drivers > providing different states with the same exit_latency). > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
I was about to send *exactly* the same patch :)
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
-- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
| |