cpufreq & enhanced speedstep

Harald Schmalzbauer h.schmalzbauer at omnisec.de
Tue May 15 10:52:35 UTC 2007


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).
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?

> > So I disabled acpi_perf and tried cpufreq with the following result:
>
> In your machine acpi_perf gives the values to est. If you disable
> acpi_perf, est will not work.

Oic, very valuable info. Thanks!

> > I had acpi_perf and powerd enabled the last two days and the "feeling" of
> > my X11/KDE desktop was a bit bumpy; The mouse frequently hung for some
> > 10s of ms, in general the respnsiveness suffered a lot with
> > dev.cpu.0.freq=800, a lot more than 298 with est...
>
> 298 comes from p4tcc or acpi_throttle. These values usually reduce a
> lot the CPU power to prevent thermal problems.
>
> Maybe they should be separated...

This would clarify things..

Thanks a lot,

-Harry


More information about the freebsd-current mailing list