Newsgroups: linux.debian.user Date: 2002-12-05 11:20:14 PST
I would like to cool my CPU in the same way CPUIdle does it under windows : using the Hlt instruction when the CPU is idle. As far as I know, it's possible to achieve this under linux with apm or acpi, but I have never succeded.
I am running a Debian unstable, kernel 2.4.19-k7 (binary package) with an Athlon XP 1700+ on a MSI K7T266 Pro2. I first tried with apm, loading the module with the following options: apm power_off=1 idle_threshold=90 This seems to work fine for the poweroff function, but that's all. I was expecting to see a process "kapm_idle" running, but it never happened. And looking at the sources of apm, I came across this:
So it seems that apm no longer idles: how can I do it then?
I also tried with acpi. Here, I have no clues of how to make idle calls to the processor. The acpi modules can be found in
/lib/modules/2.4.19-k7/kernel/drivers/acpi/
From what I have read, ospm_processor.o seems to be the one I need, but if I simply load it, nothing happens… I didn't find any documentation about these modules (and I don't know what parameters they can take).
Thank you very much if you can help with this problem!
My CPU is more than 20^C over the motherboard's temperature when I run linux (that is 60^C, sometimes 65^), while it's only 3/4^C under windows and a software cooler (dropping to 35/40^C)! And I can't afford to change my CPU Cooler just now…
This doesn't really answer your question, I'm afraid, but might help you search more precisely.
The linux kernel issues the hlt instruction when the system is idle. You don't need to install anything extra. In the kernel's boot messages, you should see a line like "Checking 'hlt' instruction… OK." (unless you booted the kernel with the "no-hlt" parameter, which I'm sure you didn't).
The APM sys idle support is a little different, and is controlled by the CONFIG APM CPU IDLE kernel compilation option.
Vineet
> I would like to cool my CPU in the same way CPUIdle does it under > windows : using the Hlt instruction when the CPU is idle.
Linux does this by default. Please don't assume that Linux repeats the same broken mistakes Windows does, as this is almost never the case.
> * Daemonize now gets rid of our controlling terminal (sfr). > * CONFIG APM CPU IDLE now just affects the default value of > * idle threshold (sfr). > * Change name of kernel apm daemon (as it no longer idles) (sfr). > > So it seems that apm no longer idles: how can I do it then?
That's laptop specific; while desktop systems can do this, too, the power savings and heat dissapation is epsilon on desktops compared to what linux already does.
Just to clarify: HLT is a CPU feature standard on i386 architecture, not an APM or ACPI feature.
> My CPU is more than 20?C over the motherboard's temperature when I run > linux (that is 60?C, sometimes 65?), while it's only 3/4?C under wi ndows > and a software cooler (dropping to 35/40?C)! And I can't afford to > change my CPU Cooler just now...
This would presumably be due to Linux not using the BIOS unless it can't possibly do something on it's own, wheras Windows depends on the BIOS for every little tiny detail. Hence the need for drivers for large hard drives on older systems under Windows, but not under Linux, among other details.
About the only way you can narrow that gap down a bit under Linux is to start investing in water cooling, though this is serious overkill unless you're overclocking. I used to have 30C differences between the system and CPU temps before I got into overclocking, though both temps were still well inside spec. I got a Koolance case and overclocked the CPU by about 25%. The water cooling is still overkill when overclocking this little, my CPU is only about 4C warmer than the system temp while mostly idle.
For those interested, I pull around 225 frames per second, never lower than 30 and never greater than 325 in UT, depending on system load.
Paul Johnson
> Just to clarify: HLT is a CPU feature standard on i386 architecture, > not an APM or ACPI feature.
The previous package lvcool has a nice readme to it that explains how the ACPI C(123) states can help and work much better than a simple HLT. ACPI is a really cool thing, if completely implemented.
Bad thing: I have an Athlon with the problems mentioned in the readme file and I don't want to risk it :-/ OTH, I do not have a overheat problem, either. If I do, I can still use throttling.
Hendrik Sattler
>Won't help you much with Athlons. Get lvcool from >http://people.debian.org/~blade/testing/.[]
Thank you very much. lvcool seems to work fine with my motherboard. Right now, the temperature of my CPU is only 28^C instead of 45^ (with the case open)! That's great!
Olivier Guyotot