cpufreq & enhanced speedstep

Harald Schmalzbauer h.schmalzbauer at omnisec.de
Mon May 14 21:48:15 UTC 2007


Am Freitag, 24. Juni 2005 schrieb Colin Percival:
                     ^^^^
[...]
> > est0: <Enhanced SpeedStep Frequency Control> on cpu0
> > est: CPU supports Enhanced Speedstep, but is not recognized.
> > est: Please update driver or contact the maintainer.
> > est: cpu_vendor GenuineIntel, msr 6120d2606000d26, bus_clk, 64
> > device_attach: est0 attach returned 6
>
> ... but I know exactly how est works, since I wrote it.  You have a
> recent processor for which Intel hasn't released the frequency/voltage
> tables; as a result, the est driver can't support it.
>
> (Apparently the data I need is in an NDA'ed BIOS writers' guide.  Can
> anyone convince Intel to give me a copy?)

Is this still valid?
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

So I disabled acpi_perf and tried cpufreq with the following result:
cpu0: <ACPI CPU> on acpi0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 928092806000928
device_attach: est0 attach returned 6
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
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
p4tcc1: <CPU Frequency Thermal Control> on cpu1

Surprisingly powerd seems to work with est - a little bit.
I see dev.cpu.0.freq slwoing down from 2388 to 298 (possible 2388/-1 2089/-1 
1791/-1 1492/-1 1194/-1 895/-1 597/-1 298/-1), but powerd is dying when going 
back up: idle time < 65%, increasing clock speed from 298 MHz to 895 MHz
powerd: error setting CPU frequency 895: Invalid argument
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                 
If I leave acpi_perf enabled and load cpufreq additionally (in loader.conf) I 
get much more dev.cpu.0.freq_levels (2400/88000 2100/77000 1800/66000 
1600/56000 1400/49000 1200/42000 1000/35000 800/28000 600/21000 400/14000 
200/7000), but powerd dies immediately.


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

Can anybody help me understanding the whole thing?
I mean, what is the mechanism of choice to reduce power consumption on desktop 
machines tehse days on core2 architecture?

Thanks a lot,

-Harry

P.S.: disabling p4tcc (hint.p4tcc.0.disabled=1 in loader.conf when cpufreq is 
loaded) hangs the machine at kickstart. In single user mode 'sysctl dev.cpu' 
also hangs the machine.


More information about the freebsd-current mailing list