cvs commit: src/sys/kern kern_spinlock.c src/sys/platform/vkernel/i386 cpu_regs.c src/sys/sys systm.h src/sys/platform/pc32/i386 machdep.c
Matthew Dillon
dillon at apollo.backplane.com
Mon Jul 2 13:28:19 PDT 2007
:> Very nice. I've been meaning to do this. We could use monitor/mwait on core2duo CPUs for power reduction for example (also when waiting for the mplock/scheduler changes in the idle loop).
:
:On my core2duo laptop replacing cpu_idle_hook() with one using mwait to enter
:enhanced halt states resulted in lowering the maximal cpu temperature from
:above 60 to below 55 degrees and made the cpu fan run less often. I even made
:some graphs representing the cpu temperature in time[1] on an idle system.
:However, I believe that lowering cpu voltage and frequency via EST and estd
:should give better results. Some time ago I wrote a kernel module
:implementing EST for those cpus[2] in an ACPI-independent way. Nice thing is
:that one can set voltage and frequency idependently of each other, at least on
:my cpu ;-) And it was working with estd. Now it's probably non-compilable
:after some SYSINIT-related macros had been renamed.
:Note that it's based only on intel docs and my own experiments so there might
:be bugs in it.
:
:[1] http://bsd.krakow.pl/df/CxE/
:[2] http://bsd.krakow.pl/df/est_core.tgz
:
:--
:Michal Belczyk
This is very close to being deployable. All you need is a little logic
to detect the core-duo cpu (similar to how the current EST module does
it, by getting the info from the hw.model sysctl) and make it error
out if the system isn't a core-duo, and a little logic to replace
the hook function.
Could you post your changes to the hook function too?
-Matt
Matthew Dillon
<dillon at backplane.com>
More information about the Commits
mailing list