Enhanced SpeedStep driver available

Arne Schwabe arne at rfc2549.org
Mon Aug 16 17:20:16 PDT 2004


Colin Percival <colin.percival at wadham.ox.ac.uk> writes:

>   Thanks to everyone who has been sending me data about their
> processors (and in particular, the 90nm versions), I now have
> a first draft of a Enhanced SpeedStep driver available.  For
> people with the appropriate processors (Pentium M only), this
> makes it possible to adjust the cpu frequency via a new sysctl
> (hw.est_curfreq), and have the cpu voltage adjusted at the
> same time.
>   I've also put together a very simple control daemon which
> reads kern.cp_time every second and adjusts the cpu frequency
> based on the fraction of cpu time which is idle.  This increases
> my laptop's battery life by around 40%.

Works for me :))

a simple speedtest confirms that:

openssl speed sha1

with 600 mhz:
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
sha1              2799.31k     8809.00k    21315.56k    33035.59k    39001.77k

and then setting it to 1600 mhz:
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
sha1              7490.03k    23513.16k    56742.98k    87939.26k   104086.94k


The numbers are about 2,7 times higher and 600 * 2,7 ~= 1600 :)

One little bug:

sudo sysctl hw.est_curfreq=1600
hw.est_curfreq: 600 -> 600
[2:14]arne at kamino:~/tmp/estctrl% sudo sysctl hw.est_curfreq=600 
hw.est_curfreq: 1600 -> 600
[2:14]arne at kamino:~/tmp/estctrl% sudo sysctl hw.est_curfreq=1600
hw.est_curfreq: 600 -> 600
[2:14]arne at kamino:~/tmp/estctrl% sudo sysctl hw.est_curfreq=1600
hw.est_curfreq: 1600 -> 1600

For some reason, the message when I set cpu freq higher does not work


Arne


More information about the freebsd-mobile mailing list