Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Aug 2004 02:19:57 +0200
From:      Arne Schwabe <arne@rfc2549.org>
To:        Colin Percival <colin.percival@wadham.ox.ac.uk>
Cc:        freebsd-mobile@freebsd.org
Subject:   Re: Enhanced SpeedStep driver available
Message-ID:  <86zn4uwr82.fsf@kamino.rfc1149.org>
In-Reply-To: <6.1.0.6.1.20040816074348.03f99338@popserver.sfu.ca> (Colin Percival's message of "Mon, 16 Aug 2004 08:06:30 -0700")
References:  <6.1.0.6.1.20040816074348.03f99338@popserver.sfu.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
Colin Percival <colin.percival@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@kamino:~/tmp/estctrl% sudo sysctl hw.est_curfreq=600 
hw.est_curfreq: 1600 -> 600
[2:14]arne@kamino:~/tmp/estctrl% sudo sysctl hw.est_curfreq=1600
hw.est_curfreq: 600 -> 600
[2:14]arne@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86zn4uwr82.fsf>