Enhanced SpeedStep driver available

Anton Nikiforov anton at nikiforov.ru
Tue Aug 17 17:31:29 PDT 2004

Toxa wrote:
> On Mon, Aug 16, 2004 at 08:06:30AM -0700, Colin Percival wrote:
>>  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%.
>>  All the code is online at
>>  Assuming I don't hear any major bug reports in the next few
>>days, I'll package these into ports and hopefully get them into
>>the ports tree in time for 5.3-RELEASE.
> I'm curious about processor's name. My laptop (sony vaio pcg-v505bx) has a Pentium 4 M, but not Centrino (which name is... Pentium 4 M too), afaik it's capable to support speedsted, (enhanced or not?). When loading your module:
> [(3:40)(85.32%)(p1):~/tmp/est ] sudo kldload ./est.ko 
> [(3:40)(85.32%)(p1):~/tmp/est ] kldstat|grep est
> 27    1 0xc23cd000 2000     est.ko
> [(3:40)(85.32%)(p1):~/tmp/est ] sysctl hw.est_curfreq
> [(3:40)(85.32%)(p1):~/tmp/est ] sysctl hw.est_freqs 
> hw.est_freqs: 
> e.g. nothing
> Is this for Centrino processors only? 
> p.s.: from dmesg:
> CPU: Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz (1193.11-MHz
> 686-class CPU)
>   Origin = "GenuineIntel"  Id = 0xf27  Stepping = 7
I have COMPAQ Presario 2585 and have absolutley the same problem.
My processor also supports for speedstep and dmesg looks like:
#dmesg|grep CPU
CPU: Mobile Intel(R) Pentium(R) 4     CPU 2.30GHz (2224.01-MHz 686-class 
in the est.c code i found out the followig:
err = kernel_sysctlbyname(curthread, "hw.model", hwmodel,
                     &modellen, NULL, 0, NULL);
if (strncmp(hwmodel, "Intel(R) Pentium(R) M processor", 31)

but my sysctl hw.model returns
hw.model: Mobile Intel(R) Pentium(R) 4     CPU 2.30GHz
The same as in dmesg. Changing the code to find a substring Mobile in 
hw.model delivers system stuck at the module load time.

Best regads,
Anton Nikiforov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3174 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040818/b0456011/smime.bin

More information about the freebsd-current mailing list