Re: Enhanced SpeedStep driver available

From: Anton Nikiforov <anton_at_nikiforov.ru>
Date: Wed, 18 Aug 2004 04:31:11 +0400
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
>>http://www.daemonology.net/freebsd-est/
>>  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
>     Features=0xbfebf9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
> 
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 
CPU)
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

Received on Tue Aug 17 2004 - 22:31:29 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:06 UTC