Unsolved
This post is more than 5 years old
3 Posts
0
7818
March 23rd, 2004 05:00
Speedstep causing horrendous slow downs at regular intervals
I recently bought a Dell Inspiron 5150 with 3.06Ghz non-hyper threaded CPU and nVidia GeForce Go5200 video card, flashed with BIOS A31. I was experiencing really bad slow downs in CPU intensive games (serious sam, Unreal Tournament 2004, etc). I finally tracked this down to CPU throttling. I'm running Linux kernel 2.6.3 with ACPI patches but I also tried the 2.4.24 kernel with the same results (even tried acpi=off). I ran a script to print changes to /proc/acpi/processor/CPU0/throttling while running a game, here is an excerpt from it:
T0 - 74 C - 43:19.251864000
T2 - 71 C - 43:23.206184000
T0 - 74 C - 43:27.431977000
T2 - 71 C - 43:31.467698000
T0 - 74 C - 43:35.571385000
T2 - 71 C - 43:39.636816000
T0 - 74 C - 43:43.766012000
T2 - 71 C - 43:47.770112000
The first column is the current throttle state (T0 is 0% throttled, T2 is 25%), the second is the reported temperature (/proc/acpi/thermal_zone/THM/temperature), and the last is the current time in minutes:seconds.nanoseconds. As you can see the throttling state keeps toggling at aprox. 4.1 second intervals. This usually only occurs during heavy system load. The strange thing is, game speed will be really slow during the T0 state (should be faster than T2), its also strange that the reported temperature changes as well. Anyone know what an OK operating temperature is?
I disabled Intel Speedstep in the BIOS and now the system is running at a fixed 1.6Ghz and games are much more playable (no more slow downs). I'd really like to have 3.06Ghz again though. I'm not sure if this is a Linux specific problem or if it would affect other operating systems (which I don't have installed). I'm looking into getting the Speedstep support in the 2.6 kernel running, which might fix things, but I wanted to check the forum as well to share my experience and to see if anyone has any good ideas :) It feels like I'm pretty close to having this system fairly well supported in Linux, just have to work out some of these problems. Cheers.
Josh Green
T0 - 74 C - 43:19.251864000
T2 - 71 C - 43:23.206184000
T0 - 74 C - 43:27.431977000
T2 - 71 C - 43:31.467698000
T0 - 74 C - 43:35.571385000
T2 - 71 C - 43:39.636816000
T0 - 74 C - 43:43.766012000
T2 - 71 C - 43:47.770112000
The first column is the current throttle state (T0 is 0% throttled, T2 is 25%), the second is the reported temperature (/proc/acpi/thermal_zone/THM/temperature), and the last is the current time in minutes:seconds.nanoseconds. As you can see the throttling state keeps toggling at aprox. 4.1 second intervals. This usually only occurs during heavy system load. The strange thing is, game speed will be really slow during the T0 state (should be faster than T2), its also strange that the reported temperature changes as well. Anyone know what an OK operating temperature is?
I disabled Intel Speedstep in the BIOS and now the system is running at a fixed 1.6Ghz and games are much more playable (no more slow downs). I'd really like to have 3.06Ghz again though. I'm not sure if this is a Linux specific problem or if it would affect other operating systems (which I don't have installed). I'm looking into getting the Speedstep support in the 2.6 kernel running, which might fix things, but I wanted to check the forum as well to share my experience and to see if anyone has any good ideas :) It feels like I'm pretty close to having this system fairly well supported in Linux, just have to work out some of these problems. Cheers.
Josh Green
0 events found
No Events found!


Agent Orange
203 Posts
0
March 23rd, 2004 10:00
=============
P-states are "performance" states. They include speedstep, and other
techniques of varrying the MHz and the voltage. This is a very
desireable way to save power b/c if done right there is very little
performance impact. Some of the cpufreq drivers allow you to poke the
system into different P-states.
You're probably thinking about thermal throttling. Here the actual
clock to the CPU is modulated to slow it down. This is sort of a power
savings technique of last resort b/c it directly impacts performance.
It kicks in when the processor gets hot and the fan isn't able or
willing to help.
=============
It looks like the CPU is getting too hot and thermal throttling is kicking in. Maybe you can use a fan controller to force the fan into high-speed?
By disabling speed-step, I *think* (if I understand it correctly), you're forcing a particular "P state". This seems to be different to thermal throttling. Maybe in the T-states, it's the actual system clock (bus clock?) that is changing, while in P states, it's just the CPU. This would affect external things like RAM?
All this is just rambling conjecture :-) I think the ultimate solution is that "you need to cool things better". If you have more efficient cooling, the thermal throttling isn't triggered and everything is good.
cheers
JoshGreen
3 Posts
0
March 23rd, 2004 17:00
Perhaps the current cooling policy is being set by the BIOS to something evil. I notice now that I turned speed stepping off in the BIOS, that the machine is running much much cooler (44 C/111.2 F) even while idle (I can hardly hear the fan even).
Now the question becomes: "How can I modify the cooling/throttling/performance policy?" I'll keep doing some reading on Linux and ACPI (seems kind of hard to find concrete info sometimes), but if anyone has any tips, I'd love to hear them :)
In particular I wonder how much the DSDT table comes into play, since I hear that this often has to be overridden on Dell laptops.
Thanks again for the feedback.
Josh Green
Agent Orange
203 Posts
0
March 23rd, 2004 19:00
cooling is good. heat for the cpu is bad, so I like to run it as cool as possible/reasonable :-)
I'm not sure, but I was under the impression that thermal-zone was hard-set in the bios. i.e. as a last resort, and if it kicks in, you REALLY want to be cooling things down. dunno.
hey, I see the same "not supported" message in THM/cooling_mode, but there is this:
wumpus:~$ cat /proc/acpi/processor/CPU0/throttling
state count: 8
active state: T0
states:
*T0: 00%
T1: 12%
T2: 25%
T3: 37%
T4: 50%
T5: 62%
T6: 75%
T7: 87%
So it is obviously there and working, and you mentioned you got T2 state. maybe its just the user-control is not supported :-)
and that's as much as I can know. not much, but might help...
cheers
haroot
1 Message
0
April 21st, 2004 06:00
It seems like an OS problem, but in Windows XP SpeedStep on works fine, but as u said ut2004 runs very sloppy, speeds up and slows down, and when I drop it to 1.6 no speedstep it doesn't run as sloppy but does slowdown here and there.
JoshGreen
3 Posts
0
April 21st, 2004 17:00
My current questioning goes something like this:
What temperature will this laptop start to force thermal throttling states?
Is it normal for this laptop to reach these temperatures when running at 3GHz with high CPU load?
In previous versions of the Linux kernel I experienced the wall time clock getting completely out of sync (running too fast). I noticed this was occuring when the CPU would start up at 1.6 GHz (or at least thats what Linux thought). This problem is now gone, but I wonder if it is a similar timing issue based in Linux thinking its running at one speed when in fact its another. I haven't been able to upgrade my 2.6 kernel because the Linuxant modem drivers I have lock up the machine with newer versions of 2.6. Time to give slmodem a try again, or something. Regards.
Josh Green