P-M, ICH4 ACPI performance and throttling states and auto-switching, and hard drive standby-ing
Hi. I have an IBM T40 P-M 1.6 with ICH4, I'm running 2.4.23 and have applied the latest ACPI patch which included ACPI CA, so, I can change both performance states and throttling states effectively
I have some questions and concerns:
Whats the difference between throttling and P-states? It seems that each P-state has n T-states (where n=8 in my case), because I can slow my system down so far gnome crawls, and then speed it up fast enough that my kernel compiles in 3.5 minutes. For the P-M series, what should I use to do automatic P-state/throttling changes? It seems that cpufreq wouldnt works since I have an ICH4. Is there anything that can effectively manage both? It would be nice to bring the CPU down to ~70Mhz (13% of 600MHz, P5 with T7) when I don't need any more than that. Also, I would very much like to do automatic hard drive standby-ing, what should I use to do that?
Thank you for your time, looking forward to a response.
-Prantik
Quoted 6 lines · Prantik Kundu
Hi. I have an IBM T40 P-M 1.6 with ICH4, I'm running 2.4.23 and have applied the latest ACPI patch which included ACPI CA, so, I can change both performance states and throttling states effectively
I have some questions and concerns:
Whats the difference between throttling and P-states?
P-States scale the CPU frequency, and in addition the CPU voltage, so that the energy consumption is reduced:
energy consumption = constant * frequency * (voltage ^ 2)
Throttling stops the CPU for short periods of time, causing (less than) linear savings in energy consumption. Moreover, no energy consumption is reached in comparison to the CPU idle states (C2 or higher). This means: as long as the CPU load is lower than 100% _and_ ACPI idle states function properly, throttling does not make sense.
Throttling (either ACPI T-States or on-CPU [p4-clockmod]) only makes sense if:
- the CPU needs to be cooled "passively"
- the user doesn't want "batch processes" [nice 19 processes] to heat up the CPU or cause the battery to be drained.
- ACPI/APM idle states don't work properly
Quoted 1 line
It seems that each P-state has n T-states (where n=8 in my case)
P-States and T-States are independent of each other, they just apply a rate to the base frequency, e.g. CPU processing khz = cpu_khz * t-rate * p-rate = cpu_khz * 1/2 * 1/2 = cpu_khz * 1/4
Quoted 2 lines
For the P-M series, what should I use to do automatic P-state/throttling changes? It seems that cpufreq wouldnt works since I have an ICH4.
Probably you have an ICH4-M, but that's besides the point. You should use the speedstep-centrino driver of the 2.6. kernel series as it provides much faster frequency transitions than the ACPI 2.4. driver or the ACPI-cpufreq 2.6. driver.
Quoted 1 line
Is there anything that can effectively manage both?
ACPI throttling works independent of the cpufreq drivers mentioned above, so you can use ACPI for throttling if you really need it [see above], and cpufreq for frequency scaling.
wrt "automatic": dynamic frequency governors are already written, but have not yet been merged into the base kernel tree. You can check the cpufreq mailing list archives for "ondemand", for example. Also, userspace tools are available which do dynamic frequency changing using the userspace governor; however this mechanism has some severe disadvantages.
Quoted 2 lines
Also, I would very much like to do automatic hard drive standby-ing, what should I use to do that?
laptop-mode. Check out Documentation/laptop-mode.txt
Dominik
_______________________________________________
Cpufreq mailing list
[email protected]
http://www.linux.org.uk/mailman/listinfo/cpufreq