Actually this whole "CPU-idle" thing in the -hrt patchset is not as new
as it might seem - the p-states driver of vanilla kernel (cpufreq)
manages the c-states as well.
There is however only one governor or strategy that lowers the c-state
depending on how long the cpu was idle. So it goes through C1, C2 and so
on until the lowest possible sleep state with time.
This is called the "ladder" governor with -hrt now. The "menu" governor
is new and estimates how long the cpu will be idle and puts the CPU in a
c-state directly. So it can go to c4 without going through c1,c2,... before.
If the estimate for the sleep period is very short or the cpu should not
go lower than a particular c-state it will put the CPU in that c-state
that fits the situation best.
IMHO it makes sense to divide p- and c-state management into different
modules because this allows one to adjust power management more
dynamically. I think this will be merged into the vanilla kernel
somewhen in the future.
Peter
Frédéric BOITEUX wrote:
Le mer 20 jun 2007 14:01:56 CEST, Jean-Paul Lacquement
<[EMAIL PROTECTED]> a écrit :
What is this "menu" module you're talking about?
If you use the hrt1 patch with a 2.6.22rc5 kernel, then there are 2 new
modules for « CPU_IDLE » governors :
config CPU_IDLE
CPU idle is a generic framework for supporting software-controlled
idle processor power management. It includes modular cross-platform
governors that can be swapped during runtime.
If you're using a mobile platform that supports CPU idle PM (e.g.
an ACPI-capable notebook), you should say Y here.
config CPU_IDLE_GOV_LADDER
This cpuidle governor promotes and demotes through the supported idle
states using residency time and bus master activity as metrics. This
algorithm was originally introduced in the old ACPI processor driver.
config CPU_IDLE_GOV_MENU
This cpuidle governor evaluates all available states and chooses the
deepest state that meets all of the following constraints: BM
activity,
expected time until next timer interrupt, and last break event time
delta. It is designed to minimize power consumption. Currently
dynticks is required.
So to have C-states available in powertop, you must enable CPU_IDLE* kernel
options and modprobe either ladder or menu (new) modules generated, the latter
being the best for power consumption...
Fred.
_______________________________________________
Power mailing list
[email protected]
http://www.bughost.org/mailman/listinfo/power
_______________________________________________
Power mailing list
[email protected]
http://www.bughost.org/mailman/listinfo/power