DragonFly commits List (threaded) for 2007-07
DragonFly BSD
DragonFly commits List (threaded) for 2007-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: 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

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 2 Jul 2007 13:27:26 -0700 (PDT)

:> 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? 

					Matthew Dillon 

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]