Sorry - I think I dropped the ball on this.... Comments inline...
On 27/12/2010 12:50 AM, "Jóhann B. Guðmundsson" wrote:
On 12/24/2010 05:59 AM, Steven Haigh wrote:
> Anyone have any ideas on this? :\
BIOS/platform issueis a common cause for the problem you are describing.
First is to see what scaling frequency are offered and you can do so by
running...
"cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies"
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
350000 700000 1050000 1400000 1750000 2100000 2450000 2800000
This looks good. From 350Mhz to 2.8Ghz.
Next is to check what bios_limit the kernel sees and you can do so
by
running...
"cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit".
# cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit
cat: /sys/devices/system/cpu/cpu0/cpufreq/bios_limit: No such file or
directory
If "bios limit" reports the highest available scaling
frequency while
running plugged in and the lowest available scaling frequency when
unplugged as in running on battery it is not the culprit.
Just run "watch -n1 "cat
/sys/devices/system/cpu/cpu*/cpufreq/bios_limit"" and plug/unplug/plug
on your laptop and the frequency should change from highest to lowest to
highest again.
This is a desktop machine - I can't easily unplug it ;)
If it does not change frequency on battery or on AC or at specific
temp
or with a specific AC adapter you need to upgraded your bios to the
latest for your manufacturer and search for SpeedStep, CPU frequency,
P-state or power management related options ( often there are some knobs
there that need to be set to "performance" ) in the bios and try
changing it.
I might take a look at this... From memory it's an ASUS mainboard from a
system that they produce switched into a rackmount case...
If turning all the bios knobs from "power save" or similar
to
"performance" or similar does not change the bios_limit you can override
it by adding "processor.ignore_ppc=1" to the kernel line in grub or run
"echo 1 > /sys/module/processor/parameters/ignore_ppc" to tweak it
during runtime however be aware that there must be a reason why the
vendor/OEM is limiting your frequency in the first place.
I should clarify this as I may not have explained it correctly.
Monitoring the frequency in /proc/cpuinfo, I can see that without
cpuspeed started, I am at 2.8Ghz. This is expected.
When I start cpuspeed, the CPU drops to 350Mhz. Again, what we expected.
The bad thing is that the CPU never comes out of running at 350Mhz under
load. The CPU will stay at 350Mhz until the modules are removed via rmmod.
If "bios_limit" is not the cause for this start by trying
the latest
kernel versions for .35 .36 and .37 in koji and see if it's fixed in any
of them if not you will need to file a bug report and make sure the
kernel is compiled with CPU_FREQ_DEBUG=y and you boot with
"cpufreq.debug=7" or run "echo 7 >
/sys/module/cpufreq/parameters/debug" to tweak it during runtime and then
attach "dmesg > 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 which should provide the maintainer with
sufficient info to start working on your report.
Also take a look at various commands that come with the cpufrequtils
package like cpufreq-info etc..
# cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq(a)vger.kernel.org, please.
analyzing CPU 0:
driver: p4-clockmod
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.00 ms.
hardware limits: 350 MHz - 2.80 GHz
available frequency steps: 350 MHz, 700 MHz, 1.05 GHz, 1.40 GHz, 1.75
GHz, 2.10 GHz, 2.45 GHz, 2.80 GHz
available cpufreq governors: ondemand, userspace, performance
current policy: frequency should be within 350 MHz and 350 MHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 350 MHz (asserted by call to hardware).
analyzing CPU 1:
driver: p4-clockmod
CPUs which run at the same hardware frequency: 1
CPUs which need to have their frequency coordinated by software: 1
maximum transition latency: 10.00 ms.
hardware limits: 350 MHz - 2.80 GHz
available frequency steps: 350 MHz, 700 MHz, 1.05 GHz, 1.40 GHz, 1.75
GHz, 2.10 GHz, 2.45 GHz, 2.80 GHz
available cpufreq governors: ondemand, userspace, performance
current policy: frequency should be within 350 MHz and 350 MHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 350 MHz (asserted by call to hardware).
Note that cpufreq-info says that it is using the performance governor -
however in /etc/sysconfig/cpuspeed, I have governor=ondemand.
Extract from /etc/sysconfig/cpuspeed:
DRIVER=p4-clockmod
GOVERNOR=ondemand
MAX_SPEED=
MIN_SPEED=
UP_THRESHOLD=
DOWN_THRESHOLD=
IGNORE_NICE=0
--
Steven Haigh
Email: netwiz(a)crc.id.au
Web:
http://www.crc.id.au
Phone: (03) 9001 6090 - 0412 935 897
Fax: (03) 8338 0299