I’m running openSUSE 11.4 on a Dell Latitude E6500. 11.3 ran just fine, but 11.4 had been quite sluggish. I did some investigation, and found that the CPU is stuck at 800 MHz (should scale up to 2.67 GHz). The CPU is an Intel C2D T9550. I have made sure that the BIOS has Speedstep enabled, but annoyingly keep getting this:
Perhaps:/etc/init.d # cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to http://bugs.opensuse.org, please.
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 800 MHz - 2.67 GHz
available frequency steps: 2.67 GHz, 2.67 GHz, 2.13 GHz, 1.60 GHz, 800 MHz
available cpufreq governors: conservative, userspace, powersave, ondemand, performance
current policy: frequency should be within 800 MHz and 800 MHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 800 MHz (asserted by call to hardware).
cpufreq stats: 2.67 GHz:0.00%, 2.67 GHz:0.00%, 2.13 GHz:0.00%, 1.60 GHz:0.00%, 800 MHz:100.00%
analyzing CPU 1:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1
CPUs which need to have their frequency coordinated by software: 1
maximum transition latency: 10.0 us.
hardware limits: 800 MHz - 2.67 GHz
available frequency steps: 2.67 GHz, 2.67 GHz, 2.13 GHz, 1.60 GHz, 800 MHz
available cpufreq governors: conservative, userspace, powersave, ondemand, performance
current policy: frequency should be within 800 MHz and 800 MHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 800 MHz (asserted by call to hardware).
cpufreq stats: 2.67 GHz:0.00%, 2.67 GHz:0.00%, 2.13 GHz:0.00%, 1.60 GHz:0.00%, 800 MHz:100.00%
Unlike in openSUSE 11.3/KDE 4.6, I cannot change the governor from the KDE power management application.
I have an Intel C2D T6670. My cpu-freq-info looks similar with different ranges, but does not include the comment: (asserted by call to hardware), or the line:
current policy: frequency should be within 1.20 GHz and 2.20 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.20 GHz.
About an hour ago, I ran glxgears, the processor went up to full speed (verified with cpufreq-info and cat /proc/cpuinfo), and would scale up/down just fine on all other applications. I put the laptop to sleep, resumed, and the CPU is back to the lowest frequency (glxgears is running, I’m getting about 14 FPS).
BTW, just checked that “speedstep” is set to “enabled” in my BIOS. I only mentioned trying that in case of some mismatch between BIOS and 11.4, since there are only two values, but it’s up to you.
The kernel module loaded here is acpi_cpufreq (checked via lsmod).
After checking if it is still working with another OS, and your BIOS is up to date, I suspect you may need to raise a bug report for the stuck frequency as an 11.4 regression.
With Speedstep disabled, acpi_cpufreq doesn’t load, and the CPU runs at full-speed all the time, which is fine for now. With Speedstep disabled, acpi_cpufreq did load, but I did have that problem. I’ll try reinstalling 11.4, and test a few OSs. Thanks.
All right, I’ve reinstalled 11.4, CPU is scaling properly again. I am getting this error, though.
Message from syslogd@Perhaps at Mar 24 20:21:40 ...
kernel: 3888.545747] Uhhuh. NMI received for unknown reason 30 on CPU 0.
Message from syslogd@Perhaps at Mar 24 20:21:40 ...
kernel: 3888.545759] Do you have a strange power saving mode enabled?
Message from syslogd@Perhaps at Mar 24 20:21:40 ...
kernel: 3888.545765] Dazed and confused, but trying to continue
11.4 really doesn’t like my computer :\ . Thanks for the help, guys.
There is one more cpu configuration that is part of YaST. DO the following:
YaST / Software / Software Management / Search on Power and Install yast2-powermanagement and exit YaST. Then Goto
YaST / System / Power Management and Just Press Finish. The first time this is run, the service pm-profiler must be started and you may even get an error message. So, now try this one more time:
YaST / System / Power Management and select one of the three profiles. For the fastest CPU speed I use Low Latency Computing. On a laptop you would use Power Saving. There is also Balance Low Latency Computing and Default is what ever your PC was doing before you loaded this YaST utility.
This is for future reference, I’ve found the reason why the CPU gets stuck at 800 MHz. Apparently, according to this ubuntu forums post the problem lies with the power adapter. My laptop uses a 90W adapter, but the original was damaged, and I had been using a 65W adapter. With the (lower wattage than required) adapter plugged in, BIOS limits the CPU to 800 MHz (regardless of charge level), but on battery the CPU can go up to full speed. Presumably, 11.3 had been ignoring the BIOS limits, because I don’t remember having performance problems, but do remember that, when using the laptop with the adapter plugged in, the battery hardly charged at all.
tl;dr Make sure you’re using the right type of power adapter.
Hi all,
I just stumbled across this thread here - I actually could observe the same behaviour on my Thinkpad T60 (with Intel T7200 and original power supply), which was stuck at 1000MHz after installing 11.4. All my fiddling with the cpufreq-tools didn’t change anything, after a resume there was no way to increase the CPU-speed.
Since the processor is powerful enough for my stuff, I lost interest after some time and accepted my new loss of CPU-power. But since a few weeks (I assume with an upgrade of the kernel from Tumbleweed), I have full power again!
Thanks to the maintainers!
As you may know, we do have a Tumbleweed forum, where the project leader and maintainer Greg K-H participates when time allows. Generally speaking maintainers don’t come to the forum.
On my wife’s laptop (an HP Pavillion dv9000 series) everything ran fine in 11.3. However, her laptop is painfully slow on battery with 11.4, but runs normal with the AC adapter.
I’ll try a Tumbleweed update. I heard some of the later kernels had power management regressions. Perhaps they’re finally fixing some of them.
Folks, I’m having a similar problem. Whenever my laptop (Dell Latitude E6400) overheats, means cpu temp. is over 70c, it gradually throttles the CPUs down to 800MHz. I can post the screenshots from the sysmon. This is a behaviour I find normal. What freaks me out is that it doesn’t bring the CPU frequency back to normal(=2.8GHz) when the temperature goes down. It takes a minute to cool down to 45C, but the cpu may get fast again only like 10-20 minutes later!
I’ve tried many-many-many things. These includes fiddling around with KDE power management settings, with (soon deprecated) powersave binary, with cpufreq utils and direct access to /sys/devices/system/cpu/cpu1/cpufreq/. None helped to fix anything, BUT I found one interesting hint in the latter location:
This ******* would only go up after a certain amount of time. As soon as it does, one may use the cpufreq-set or any other tool again to move the frequency up, if for some reason the governor doesn’t do that for you.
My bios doesn’t have any means to control the CPU temperature threshold or the timeout. Does anyone have an idea how could one manage this sort of behaviour?
Thanks!
So what happens if you edit the text file /sys/devices/system/cpu/cpu0/cpufreq/bios_limit (as root) and insert the correct number? When I run this command on my desktop I get this:
Thanks for your hint, yes, I’ve seen that blog, but indeed it’s just a shell script that makes controlling the cpu stuff easier. When I try to modify the bios_limits file this is what I get:
I’ve updated to the latest available bios for my laptop, didn’t help.
What’s strange, I’ve observed a similar behaviour even on Macs running with Intel CPUs.
I should have posted it here, indeed - I solved my problem after calling Dell support, and they instructed me (by phone) on how to open the bottom cover and reach the CPU cooler sink, then clean it from dust That did the trick - now even if I fully load my CPU the fan runs at the highest speed but the temp. never reached 70. So the bios was limiting the CPU speed due to overheating after all…