lkml.org 
[lkml]   [2012]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/1 v3] Honor state disabling in the cpuidle ladder governor
On 07/19/2012 11:48 PM, Rafael J. Wysocki wrote:
> On Thursday, July 19, 2012, Carsten Emde wrote:
>> There are two cpuidle governors ladder and menu. While the ladder
>> governor is always available, if CONFIG_CPU_IDLE is selected, the
>> menu governor additionally requires CONFIG_NO_HZ.
>>
>> A particular C state can be disabled by writing to the sysfs file
>> /sys/devices/system/cpu/cpuN/cpuidle/stateN/disable, but this mechanism
>> is only implemented in the menu governor. Thus, in a system where
>> CONFIG_NO_HZ is not selected, the ladder governor becomes default and
>> always will walk through all sleep states - irrespective of whether the
>> C state was disabled via sysfs or not. The only way to select a specific
>> C state was to write the related latency to /dev/cpu_dma_latency and
>> keep the file open as long as this setting was required - not very
>> practical and not suitable for setting a single core in an SMP system.
>>
>> With this patch, the ladder governor only will promote to the next
>> C state, if it has not been disabled, and it will demote, if the
>> current C state was disabled.
>>
>> Note that the patch does not make the setting of the sysfs variable
>> "disable" coherent, i.e. if one is disabling a light state, then all
>> deeper states are disabled as well, but the "disable" variable does not
>> reflect it. Likewise, if one enables a deep state but a lighter state
>> still is disabled, then this has no effect. A related section has been
>> added to the documentation.
>>
>> Signed-off-by: Carsten Emde<C.Emde@osadl.org>
>
> This looks fine to me, but it's too late for v3.6. I can queue it up
> for v3.7, though.
Yes, please.

Thanks,
-Carsten.


\
 
 \ /
  Last update: 2012-07-20 01:21    [W:0.075 / U:0.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site