F14 cpuspeed / ondemand broken?

Steven Haigh netwiz at crc.id.au
Sat Jan 1 21:43:23 UTC 2011


On 1/01/2011 5:25 AM, "Jóhann B. Guðmundsson" wrote:
> On 12/31/2010 04:33 PM, Steven Haigh wrote:
>> I reset the BIOS to optimal defaults and fired it up. No real change :(
>>
>
> As I mention you might need to turn some knobs in the bios to get this
> working so using the optimal defaults might be causing this ;)

To be honest, I looked through all the screens of the BIOS and I can't 
see anything that may affect this. As the ONLY defaults option available 
is optimal, I gave it a go ;)

>> # modprobe acpi-cpufreq
>> FATAL: Error inserting acpi_cpufreq
>> (/lib/modules/2.6.35.10-74.fc14.i686/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko):
>> No such device
>>
>
> File a bug against the kernel any modern Intel CPU should be driven with
> acpi-cpufreq, the reason I asked you to clean out your config is because
> you should not be using "p4-clockmod".

Hmm - I updated to kernel 2.6.37-0.rc7.git0.2.fc15.i686 from koji. Seems 
the same issue happens. More on this later.

> And to hopefully clear up general internet misconception amongst users
> p4-clockmod is a thermal regulation mechanism it is not a speed control
> or power management mechanism the driver does not scale frequency et al
> the only thing it does is thermal throttling.
>
> Why it still exist still beats me p4-clockmod reports are utterly bogus
> they always have been and using it usually result in the computer being
> slower and consuming more power which nobody wants....

Yeah - the main aim on this is to reduce power consumption - as this 
system is idle for 99.9% of the day :)

>> Interesting. Surely this should change to the ondemand governor?!
>>
>
> Nope it shouldn't be using any governor which should equal to be using
> the performance governor.

Ah, that makes sense.

> The clockmod code should only be throttling when ACPI indicates that the
> system needs it due to a thermal event.
>
> The only thing you can do since you cant use ondemand is set the cpufreq
> governor to userspace which allows the user, or any userspace program
> running with UID "root", to set the CPU to a specific frequency by
> making a sysfs file "scaling_setspeed" available in the CPU-device
> directory.

I believe this is what the cpuspeed process does. It works (as in the 
CPU frequency changes), but isn't exactly optimal :)

>>> Check if things work if they dont after bios update and orignal cpuspeed
>>> file and after fiddling with power savings, EIST, processor scaling,
>>> etc.then boot with cpufreq.debug=7 and test latest kernel .35 .36 .37
>>> from koji
>> Going to look into this tomorrow.
>
> Great :)
>
> Try the .36 and .37 kernel to see if acpi_cpufreq module loads in those
> kernels then boot with cpufreq.debug=7 and run dmesg > dmesg.txt then
> file a bug report against the kernel attache dmesg.txt along with the
> output from "for x in /sys/devices/system/cpu/cpu0/cpufreq/*;do echo
> $x;cat $x;done && for x in
> /sys/devices/system/cpu/cpu0/cpufreq/ondemand/*;do echo $x;cat $x;done"
> to your report and make note if .36 and .36 work or not
>
> That should provide the maintainer with sufficient info to start working
> on your report.
>

As noted above, I installed kernel

This bit seems interesting in the dmesg output with cpufreq.debug=7 set:
[    0.655600] speedstep-lib: x86: f, model: 4
[    0.655605] speedstep-ich: Intel(R) SpeedStep(TM) capable processor 
not found
[    0.655609] speedstep-lib: x86: f, model: 4
[    0.655612] speedstep-smi: No supported Intel CPU detected.
[    0.655934] apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)
[    0.655938] apm: disabled - APM is not SMP safe.

Early in the boot, the CPU is detected as:
[    0.025581] CPU0: Intel(R) Pentium(R) D CPU 2.80GHz stepping 07

I also note this:
[    0.675591] ACPI: acpi_idle registered with cpuidle
...
[    1.345624] cpuidle: using governor ladder
[    1.345628] cpuidle: using governor menu

This seems to be the part we're interested in however:
[   17.682969] acpi-cpufreq: acpi_cpufreq_init
[   17.682975] acpi-cpufreq: acpi_cpufreq_early_init
[   17.682992] cpufreq-core: trying to register driver acpi-cpufreq
[   17.683020] cpufreq-core: adding CPU 0
[   17.683029] acpi-cpufreq: acpi_cpufreq_cpu_init
[   17.683037] cpufreq-core: initialization failed
[   17.683043] cpufreq-core: adding CPU 1
[   17.683049] acpi-cpufreq: acpi_cpufreq_cpu_init
[   17.683055] cpufreq-core: initialization failed
[   17.683061] cpufreq-core: no CPU initialized for driver acpi-cpufreq
[   17.683067] cpufreq-core: unregistering CPU 0
[   17.683072] cpufreq-core: unregistering CPU 1
[   17.691474] cpufreq-core: trying to register driver p4-clockmod
[   17.691481] cpufreq-core: adding CPU 0

I've logged a bug report on it, I'll add the rest soon.

https://bugzilla.redhat.com/show_bug.cgi?id=666649

-- 
Steven Haigh

Email: netwiz at crc.id.au
Web: http://www.crc.id.au
Phone: (03) 9001 6090 - 0412 935 897
Fax: (03) 8338 0299


More information about the test mailing list