Nethence Documentation Lab Webmail Your IP BBDock  

Those documents are obsolete, please use the Nethence Documentation instead.


Enabling AMD Cool'n'Quiet
Changing the CPU frequency with XEN or Linux
Make sure the system is running on an AMD CPU,
grep name /proc/cpuinfo
#lshw -C cpu
#dmidecode -t processor
Make sure you’re running a v2.6.7+ kernel, and make sure powernow-k8 is enabled,
uname -r
#modprobe powernow-k8
dmesg | grep powernow
For Linux based Cool’n’Quiet you need /sys/ to be mounted,
cd /sys/devices/system/cpu/cpu0/cpufreq/
cat scaling_available_frequencies
#echo '800000' > scaling_setspeed
For XEN based Cool’n’Quiet make sure the CPU family is =>10 and !=15,
grep family /proc/cpuinfo
see current CPU cores' frequencies,
xenpm get-cpufreq-para | grep ^cpuinfo
watch "xenpm get-cpufreq-para | grep ^cpuinfo"
Note. there's also,
xenpm get-cpuidle-states
xenpm get-cpufreq-states
xenpm get-cpu-topology
Enable Cool’n’Quiet at boot time (XEN or Linux based),
cd /etc/
ls -l rc.local
cat >> rc.local <<EOF9
modprobe powernow-k8
echo -n enabling AMD Cool\'n\'Quiet...
if [[ -f /sys/hypervisor/version/major ]]; then
xenpm set-scaling-governor ondemand && echo done
#xenpm set-scaling-governor powersave && echo done
for cpu in \`grep ^processor /proc/cpuinfo | awk '{print \$NF}'\`; do
cpufreq-set --cpu \$cpu --governor ondemand
done && echo done
unset cpu
Note. Shell variables and the ` execute marks are escaped.
Note. Passing through to the dom0 with cpufreq=dom0-kernel doesn't work here. Hence the need for XEN based Cool’n’Quiet if running XEN.
Note. xenpm's ondemand doesn't work as well as cpufreq's one, depending how you see it: it scales up much faster.
Screen configuration
cd ~/
# Note. Change the window number accordingly.
# Note. watched command inside (single) quotes because there's a pipe in it.
cat >> .screenrc <<EOF9
screen -t "freqs" 1 watch cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_f
screen -t "freqsxen" 2 watch 'xenpm get-cpufreq-para | grep ^cpuinfo'

Last update: Nov 21, 2012