CPU Throttling Drama in Fedora 10

In all fairness, I’ll say up front that I’ve already posted all of this at http://www.distrostop.org/. This will mainly be a recap of those posts for record-keeping purposes and for anyone who finds this more easily using search engines.

I run Fedora 10 on a Dell Latitude D630. It works quite well, however, I have discovered this problem. When I suspend to RAM and then resume, the second core of my Intel Core 2 Duo doesn’t throttle down. The first core does, but not the second which dramatically reduces battery life.

‘uname -r’ reveals that I am running 2.6.27.12-170.2.5.fc10.x86_64. I run KDE 4.2 and I first noticed this problem with Kpowersave (the KDE power monitor and Daemon interface). The results of ‘cat /proc/cpuinfo’ reveal that, after resume, core 2 indeed is still running at 2.00 GHz while core 1 is running at 800 MHz.

Here is the result of ‘less /var/log/messages | grep CPU0’

Feb 17 21:56:18 localhost kernel: CPU0: Thermal monitoring enabled (TM2)
Feb 17 21:56:18 localhost kernel: CPU0: Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz stepping 0d
Feb 17 21:56:18 localhost kernel: ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3])
Feb 17 21:56:18 localhost kernel: ACPI: Processor [CPU0] (supports 8 throttling states)

Those four lines repeat over and over. Now, the results of ‘less /var/log/messages | grep CPU1’

eb 17 11:47:19 localhost kernel: CPU1 is down
Feb 17 11:47:19 localhost kernel: CPU1: Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz stepping 0d
Feb 17 11:47:19 localhost kernel: ACPI Error (psparse-0530): Method parse/execution failed [_PR_.CPU1._PCT] (Node ffff88011f0712c0), AE_NOT_FOUND
Feb 17 11:47:19 localhost kernel: CPU1 is up

Kpowersave actually has the following messages

Processor 2 is listed as “deactivated”. Further, here are the results of ‘cat /proc/cpuinfo’

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz
stepping : 13
cpu MHz : 800.000
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm ida
bogomips : 3989.91
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz
stepping : 13
cpu MHz : 1994.959
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm ida
bogomips : 3990.10
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

The processor speed of CPU1 is 1994.xxx MHz but that CPU0 is at 800 MHz. I’m not the only person with this problem. The bug was filed at bugzilla.redhat.com.

I’ll gladly take comments and suggestions.

Leave a Reply