On 07/29/2013 04:39 PM, Deepthi Dharwar wrote: > Hi Daniel, > > On 07/27/2013 10:57 AM, Daniel Lezcano wrote: >> On 07/23/2013 11:01 AM, Deepthi Dharwar wrote: >>> This patch implements a back-end cpuidle driver for >>> powernv calling power7_nap and snooze idle states. >>> This can be extended by adding more idle states >>> in the future to the existing framework. >>> >>> Signed-off-by: Deepthi Dharwar <deepthi@xxxxxxxxxxxxxxxxxx> [ ... ] >>> +static int snooze_loop(struct cpuidle_device *dev, >>> + struct cpuidle_driver *drv, >>> + int index) >>> +{ >>> + int cpu = dev->cpu; >>> + >>> + local_irq_enable(); >>> + set_thread_flag(TIF_POLLING_NRFLAG); >>> + >>> + while ((!need_resched()) && cpu_online(cpu)) { >>> + ppc64_runlatch_off(); >>> + HMT_very_low(); >>> + } >> >> Why are you using the cpu_online test here ? > > Snooze state is an idle state where cpu executes an infinite loop by > reducing the priority of the thread and the idle cpu can come out of it > only if need_resched is set or in case the cpu is offlined. In order to > continue executing this loop to remain in this idle state, we need the > check just to be safe. Yes, but if the cpu is offline you are no longer executing this code, no ? -- <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