[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ondemand governor by default in etch

Anthony DeRobertis <anthony@derobert.net> wrote:
> Matthew Garrett wrote:
>> p4-clockmod is entirely useless. It's high-latency and doesn't drop the 
>> core voltage.
> Nice. Is there a good alternative for P4 machines? Is the ACPI one any
> better (assuming a semi-sane BIOS)?

It really depends on the hardware - not all P4s support voltage scaling, 
and without that you'll see no useful effects. The acpi driver is 
certainly worth a go, as is speedstep-ich (which /might/ work, but I 
wouldn't be optimistic).

Just to elaborate on why p4-clockmod isn't terribly useful: modern CPUs 
expose multiple degrees of chip-level power management (C states in ACPI 
speak). C1 is equivilent to having the idle loop use the hlt 
instruction, and results in lower power usage. C2 is similar to the old 
APM idle modes, which allowed the processor power down even more of 
itself. Modern chips tend to support C3 and C4 states, in which the CPU 
actually disconnects itself from the bus and is pretty much unclocked.

At that point, the frequency of the CPU is fairly unimportant. Simply 
throttling down the processor won't cause any significant reduction in 
power consumption, since most of what's left switched on would be 
drawing that much power anyway. Dropping the core voltage, however, is 
an obvious win - since power consumption is v^2/r, you're saving the 
square of the amount you've reduced it by.

So p4-clockmod doesn't really help you in the case of an entirely idle 
CPU. And in the more common case of a CPU that /isn't/ entire idle, it 
can be more harm than good. Halving the speed of the chip means that 
you're awake for twice as long as you would otherwise be, which may mean 
that you don't get long enough to drop into the deeper sleep states.

Intel's presented figures (at last year's OLS, I think) that suggest 
that p4-clockmod and straightforward throttling aren't useful approaches 
to dealing with power consumption. The main reason for the methods being 
implemented is to deal with cases where a loaded CPU is becoming too hot 
- the hardware has no way to prevent the OS from scheduling more work, 
so instead it slows down to reduce heat output. Instantaneous power 
consumption is reduced, but it now takes twice as long for your job to 
complete and your hard drive hasn't halved the amount of power it's 
consuming. If you own a machine that doesn't implement the ACPI 
interface to throttling (/proc/acpi/processor/*/throttling), then 
p4-clockmod may be required in order to allow the OS to respond to high 

On the other hand, if you're not in that situation, it's probably more 
harm than good. There's a few laptops around that don't implement C3 or 
C4 states, and it might be beneficial there as well. Otherwise, just 
skip it.
Matthew Garrett | mjg59-chiark.mail.debian.devel@srcf.ucam.org

Reply to: