Problem with CPU frequency scaling
This page is a stub |
---|
You can help ThinkWiki by expanding it. |
Symptom
If the battery pack is removed and the laptop is powered by AC only, the CPU downclocks to the lowest multiplier and remains locked in low speed. This happens irrespective of the scaling method in use (kernelspace or userspace) and of the frequency governor selected (ondemand, performance, etc.).
Output of cpufreq-info (on AC power without battery):
analyzing CPU 0: driver: centrino CPUs which need to switch frequency at the same time: 0 1 hardware limits: 1000 MHz - 1.83 GHz available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz available cpufreq governors: ondemand, userspace, powersave, performance current policy: frequency should be within 1000 MHz and 1000 MHz. The governor "ondemand" may decide which speed to use within this range. current CPU frequency is 1000 MHz (asserted by call to hardware). analyzing CPU 1: driver: centrino CPUs which need to switch frequency at the same time: 0 1 hardware limits: 1000 MHz - 1.83 GHz available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz available cpufreq governors: ondemand, userspace, powersave, performance current policy: frequency should be within 1000 MHz and 1000 MHz. The governor "ondemand" may decide which speed to use within this range. current CPU frequency is 1000 MHz (asserted by call to hardware).
Output of cpufreq-info (on AC power with battery plugged in):
analyzing CPU 0: driver: centrino CPUs which need to switch frequency at the same time: 0 1 hardware limits: 1000 MHz - 1.83 GHz available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz available cpufreq governors: ondemand, userspace, powersave, performance current policy: frequency should be within 1000 MHz and 1.83 GHz. The governor "ondemand" may decide which speed to use within this range. current CPU frequency is 1000 MHz (asserted by call to hardware). analyzing CPU 1: driver: centrino CPUs which need to switch frequency at the same time: 0 1 hardware limits: 1000 MHz - 1.83 GHz available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz available cpufreq governors: ondemand, userspace, powersave, performance current policy: frequency should be within 1000 MHz and 1.83 GHz. The governor "ondemand" may decide which speed to use within this range. current CPU frequency is 1000 MHz (asserted by call to hardware).
Solution
Other than using the laptop with the battery pack always inserted, no solution is known at this point.
Update:
On my Z61m with a T5500 I had the same problem. After several hours of debugging I noticed, that my ACPI BIOS returns another _PPC value (2) than at boot-time with batery (0). The Kernel-code says:
/* * _PPC indicates the maximum state currently supported by the platform * (e.g. 0 = states 0..n; 1 = states 1..n; etc. */
Thats mean, that my Bios says, after batery release only state 2 is possible. There is already a (for me unknown and undocumented) Patch for such a worse ACPI BIOS:
You only have to add "processor.ignore_ppc=1" to your kernel parameters and everything works fine.
Tested with 2.6.26-rc1 on a Z61m with a 1.67GHz T5500 Processor.