[PATCH] cpuidle:powernv: Make the snooze timeout dynamic.

Stewart Smith stewart at linux.vnet.ibm.com
Tue Jun 5 13:47:55 AEST 2018


Michael Ellerman <mpe at ellerman.id.au> writes:
> "Gautham R. Shenoy" <ego at linux.vnet.ibm.com> writes:
>
>> From: "Gautham R. Shenoy" <ego at linux.vnet.ibm.com>
>>
>> The commit 78eaa10f027c ("cpuidle: powernv/pseries: Auto-promotion of
>> snooze to deeper idle state") introduced a timeout for the snooze idle
>> state so that it could be eventually be promoted to a deeper idle
>> state. The snooze timeout value is static and set to the target
>> residency of the next idle state, which would train the cpuidle
>> governor to pick the next idle state eventually.
>>
>> The unfortunate side-effect of this is that if the next idle state(s)
>> is disabled, the CPU will forever remain in snooze, despite the fact
>> that the system is completely idle, and other deeper idle states are
>> available.
>
> That sounds like a bug, I'll add?
>
> Fixes: 78eaa10f027c ("cpuidle: powernv/pseries: Auto-promotion of snooze to deeper idle state")
> Cc: stable at vger.kernel.org # v4.2+

Yes, it's a bug - we had a customer bug because we lacked this that
meant we had to do firmware changes rather than just tweaking what stop
states were used.

-- 
Stewart Smith
OPAL Architect, IBM.



More information about the Linuxppc-dev mailing list