Hi Board,
I have a Dell Precision M6400 laptop with an Intel Core2 Duo 2.8 GHz processor.
I have set Power Management to performance when on AC power and have also written a script that calls cpufreq-set to set the lower and upper limits to 2.80 GHz (cpufreq-info output below).
However, sometimes when doing some heavy work the frequency suddenly gets reduced to 1.60 GHz on both cores and I cannot set them back to 2.80 GHz using the script (cpufreq-set says errors occurred). Performance is then totally gone and I have to reboot. The same script then works fine after a reboot.
What is setting the lower limit back down to 1.60 GHz even though I set it to 2.80 GHz using my script? How can I stop/configure this or prevent it from happening?
Many thanks!
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to openSUSE:Submitting bug reports - openSUSE, please.
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 0
hardware limits: 1.60 GHz - 2.80 GHz
available frequency steps: 2.80 GHz, 2.80 GHz, 2.13 GHz, 1.60 GHz
available cpufreq governors: conservative, userspace, powersave, ondemand, performance
current policy: frequency should be within 2.80 GHz and 2.80 GHz.
The governor “performance” may decide which speed to use
within this range.
current CPU frequency is 2.80 GHz.
analyzing CPU 1:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 1
hardware limits: 1.60 GHz - 2.80 GHz
available frequency steps: 2.80 GHz, 2.80 GHz, 2.13 GHz, 1.60 GHz
available cpufreq governors: conservative, userspace, powersave, ondemand, performance
current policy: frequency should be within 2.80 GHz and 2.80 GHz.
The governor “performance” may decide which speed to use
within this range.
current CPU frequency is 2.80 GHz.
P.S. No luck with this in the hardware section so thought I would try here since it is a laptop…
My guess is your processor temperature is reaching the thermal threshold limit and as a result Intel’s TM1/TM2 features are kicking in.
TM2 = Reducing the frequency by varying the multiplier to prevent over heating.
How hot is the processor getting under the heavy load?
Using Ksensors I can see that normal temperature is ~52 C. It rises to ~77 C under heavy load and runs there for a while until something kicks in to reduce the frequency. Once temperature has returned to ~52 C and stayed there a while the frequency goes back up to 2.80 GHz.
Is 77 C too high?
Another clue, when this happened I saw that the frequency had been reduced to 1.60 GHz even though the governer was saying it should be between 2.13 and 2.13 GHz (see below). This sounds like a hardware feature kicking in as you say rather than Linux. What do you think?
cpufreq-info
cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to openSUSE:Submitting bug reports - openSUSE, please.
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 0
hardware limits: 1.60 GHz - 2.80 GHz
available frequency steps: 2.80 GHz, 2.80 GHz, 2.13 GHz, 1.60 GHz
available cpufreq governors: conservative, userspace, powersave, ondemand, performance
current policy: frequency should be within 2.13 GHz and 2.13 GHz.
The governor “performance” may decide which speed to use
within this range.
current CPU frequency is 1.60 GHz (asserted by call to hardware).
analyzing CPU 1:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 1
hardware limits: 1.60 GHz - 2.80 GHz
available frequency steps: 2.80 GHz, 2.80 GHz, 2.13 GHz, 1.60 GHz
available cpufreq governors: conservative, userspace, powersave, ondemand, performance
current policy: frequency should be within 2.13 GHz and 2.13 GHz.
The governor “performance” may decide which speed to use
within this range.
current CPU frequency is 1.60 GHz (asserted by call to hardware).
So, if the performance governer says between 2.13 and 2.13, who set 1.60 GHz?
77 is quite high, some datasheets indicate over 74c will cause thermal management features such as T1/T2 to activate.
If you bios allows you to disable T1/T2 thermal management, you can test if this is the cause.
I’ve seen it go to 82 as well! I don’t think my BIOS supports disabling these features but even if I did find out this was the cause, the solution here is to keep things cooler I think.
I intend to see if there is any dust blocking airflow anywhere or if the fans need replaced.
Is there anything in openSUSE other than power devil than will reduce the frequency?
Nothing else that I am aware of.
If you want to prevent cpu scaling, boot with the option
CPUFREQ=off
Not sure if this would have any influence over the Intel T1/T2 features, but it will prevent software cpu frequency scaling.
Thanks for the tip. I rebooted with CPUFREQ=off on the boot line and reran the same intensive process that caused the high temperatures and scaling to occur.
The frequency was not reduced and the temperatures also did not climb as high as before.
Is there any way to improves SUSE’s scaling or use a different frequency scaling driver? This link seems to suggest so: Frequency scaling under Linux: overclocking on demand
On 08/12/2010 09:36 AM, euromonkey wrote:
> Is there any way to improves SUSE’s scaling or use a different
> frequency scaling driver? This link seems to suggest so: ‘Frequency
> scaling under Linux: overclocking on demand’
> (http://www.ruwebit.net/article/413)
I do not know the answer to this problem, but I do want to correct the
misconception here. This is NOT “SUSE’s scaling”. Things like this are from the
kernbel, which is shared by ALL distributions. If you have a probelm with 2.6.34
in openSUSE, then you would have the same problem with that kernel version with
Fedora, Ubuntu, etc.