Skip to content

Instantly share code, notes, and snippets.

@devkral
Created January 8, 2012 18:21
Show Gist options
  • Save devkral/1579210 to your computer and use it in GitHub Desktop.
Save devkral/1579210 to your computer and use it in GitHub Desktop.
cpupower init enhanced version
# The CPU specific power-management-driver (e.g. powernow-k8) is necessary for cpupower to work. Don't forget to load it!
# valid governors:
# ondemand, performance, powersave,
# conservative, userspace
#governor="ondemand"
# limit frequency range (optional)
# valid suffixes: Hz, kHz (default), MHz, GHz, THz
#min_freq="2.25GHz"
#max_freq="3GHz"
# use freq to set up the exact cpu frequency using it with userspace governor
#freq=
### the next section is independend unlike the first one
# valid multicore scheduler:
# 0, 1, 2
#mc_scheduler=
# hyper-Threading scheduler
#smp_scheduler=
# intel only: set trade-off value for processes; for more information see: 'man cpupower-set'
#perf_bias=
# vim:set ts=2 sw=2 ft=sh et:
#! /bin/sh
if [[ ! -f /etc/conf.d/cpupower ]]; then
echo "/etc/conf.d/cpupower doesn\'t exist"
exit 1
fi
. /etc/conf.d/cpupower
### sections independend; params='' for additional clear
# be loud; usually wanted
params=''
if [[ "$governor" ]]; then
grep -qw "$governor" /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors || modprobe -q cpufreq_${governor}
if [[ "$governor" != "userspace" ]] && [[ "$freq" ]]; then
echo "Error: freq needs userspace governor"
exit 1
fi
params="-g $governor "
params+="${min_freq:+-d $min_freq} "
params+="${max_freq:+-u $max_freq} "
params+="${freq:+-f $freq} "
cpupower -c all frequency-set $params > /dev/null
else
echo "Debug: Governor isn\'t set."
fi
# be quiet. It is a feature of some CPUs.
params=''
if [[ "$mc_scheduler" ]]; then
params="-m $mc_scheduler"
cpupower -c all set $params
fi
# be quiet. It is a feature of some special CPUs.
params=''
if [[ "$smt_scheduler" ]]; then
params="-s $smt_scheduler"
cpupower -c all set $params
fi
# be quiet. It is a feature of some Intel CPUs.
params=''
if [[ "$perf_bias" ]]; then
params="-b $perf_bias"
cpupower -c all set $params
fi
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment