cpufreq & enhanced speedstep

Harald Schmalzbauer h.schmalzbauer at omnisec.de
Tue May 15 11:52:02 UTC 2007


Am Dienstag, 15. Mai 2007 schrieb Rui Paulo:
> At Tue, 15 May 2007 12:47:18 +0200,
>
> Harald Schmalzbauer wrote:
> > Am Dienstag, 15. Mai 2007 schrieb Rui Paulo:
> > > At Mon, 14 May 2007 23:48:07 +0200,
> > >
> > > Harald Schmalzbauer wrote:
> >
> > [...]
> >
> > > > I have a E6600 core2 and tried to reduce power dissipation by
> > > > enabling some speedstep technology.
> > > > acpi_perf seems to work since dev.cpu.freq shows 800 (possible
> > > > 2400/1600/800) and goes up while compiling, but I frequently get the
> > > > following errors:
> > > >
> > > > kernel: acpi_perf0: Px transition to 1600 failed
> > > > kernel: acpi_perf0: set freq failed, err 6
> > >
> > > I don't really know why it fails..
> >
> > With acpi_throttle and p4tcc disabled, like you advised, this
> > message doesn't occur any more.
> > But I only have two possible speed steps, 2400 and 1600. But it's
> > switching smoothly between them, atm. I don't have a power meter handy,
> > so I can't see if it really works (and saves power).
>
> I have a driver to gather the temperature reading of the CPU.
> If the temperature drops when you've enabled powerd, then it's most
> likely working.
> (Check my message "MacBook patches" if you wanna try it out)

I did (I had to copy src/backlight and src/msrtemp to src/sys/dev/ and 
src/sys/modules/).
Here is what I get when I load the module:
msrtemp0: <CPU On-Die Thermal Sensors> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 928092806000928
device_attach: est1 attach returned 6
msrtemp1: <CPU On-Die Thermal Sensors> on cpu1

But these values are too high, my BIOS tells me ~50°C:
dev.cpu.0.temperature: 68
dev.cpu.1.temperature: 69

Also my bios shows temperatures for ather chips, namely ich, gmch, and system.
I haven't tried mbmon or consolehm or healthd but I guess they won't give any 
results via smbus with that new monitoring devices.

Is there anything I can do to correct the ACPI table for the right power 
values of my CPU?

Thanks a lot,

-Harry

>
> > But in any case, the Watt values (dev.cpu.0.freq_levels: 2400/88000
> > 1600/56000) are wrong for my core2 CPU.
> > Where does acpi_perf get them from? Ok, form est (since without
> > cpufreq loaded
> > the values are /-1) but are they readable from any registers or are
> > they hard
> > coded according to the CPU type or are they in any table in the (acpi)
> > BIOS?
>
> It gets the values from ACPI methods.
>
> --
> Rui Paulo



-- 
OmniSEC  -  UNIX und Windows Netzwerke - Sicher
Harald Schmalzbauer
Flintsbacher Str. 3
80686 München
+49 (0) 89 18947781
+49 (0) 160 93860101
USt-IdNr.: DE253184753


More information about the freebsd-current mailing list