On Mon, Jul 02, 2007 at 07:06:21PM +0200, Simon 'corecode' Schubert wrote: > Matthew Dillon wrote: > > Log: > > Implement an architecture call for contended spinlocks so the vkernel can > > insert a usleep(). > > 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
