this is obsolete doc -- see 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'