Enhanced SpeedStep driver available
outi at bytephobia.de
Wed Aug 18 00:30:20 PDT 2004
On Wed, 18 Aug 2004 04:31:11 +0400
Anton Nikiforov <anton at nikiforov.ru> wrote:
> 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
> > 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
> 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.
Pentium 4 M is the mobile version of a Pentium 4 and capable of speed step.
Pentium M is a complete new processor and not a mobile version of any other. Indeed it is based on the Pentium 3 layout (but only based ;) ).
Centrino is no processor at all. Centrino is the name for a hardware bundle:
- Intel Pentium M (no Pentium 4!)
- Intel Chipset (with or without onboard graphic)
- Intel Wireless-LAN adapter
If one of this partsis missing on a system it must not be called Centrino (that's Intel politics).
I hope i could achieve clarification. This discussions are seen anywhere and many don't really know the diferences ;)
If I'm wrong in any part, please let me know.
Patrick Hurrelmann | "Programming today is a race between software
Mannheim, Germany | engineers striving to build bigger and better
| idiot-proof programs, and the Universe trying
outi at bytephobia.de | to produce bigger and better idiots. So far,
www.bytephobia.de | the Universe is winning." - Rich Cook
More information about the freebsd-current