diff options
author | André Fabian Silva Delgado <andre@pc-01.localdomain> | 2012-03-22 02:41:01 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <andre@pc-01.localdomain> | 2012-03-22 02:41:01 -0300 |
commit | 71d6cf93f41e9353bd4878d5fda61f14b988e252 (patch) | |
tree | fd6d9b8137b9658ce21973ee65be904d1c42da7b /libre/linux-libre-tools/cpupower.rc | |
parent | 0c4a6c2a6d9d1b23041fef3d6087e31c66f79e9e (diff) |
libre/linux-libre-tools
Diffstat (limited to 'libre/linux-libre-tools/cpupower.rc')
-rw-r--r-- | libre/linux-libre-tools/cpupower.rc | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/libre/linux-libre-tools/cpupower.rc b/libre/linux-libre-tools/cpupower.rc new file mode 100644 index 000000000..9b0bcddb7 --- /dev/null +++ b/libre/linux-libre-tools/cpupower.rc @@ -0,0 +1,41 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +[[ -f /etc/conf.d/cpupower ]] && . /etc/conf.d/cpupower + +case "$1" in + start|restart) + stat_busy "Setting cpupower rules" + declare -i fail=0 + + # frequency-set options + declare -a params=() + params+=(${governor:+-g $governor}) + params+=(${min_freq:+-d $min_freq}) + params+=(${max_freq:+-u $max_freq}) + params+=(${freq:+-f $freq}) + if ((${#params[@]} > 0)); then + cpupower frequency-set "${params[@]}" >/dev/null || fail=1 + fi + + # set options + declare -a params=() + params+=(${mc_scheduler:+-m $mc_scheduler}) + params+=(${smp_scheduler:+-s $smp_scheduler}) + params+=(${perf_bias:+-b $perf_bias}) + if ((${#params[@]} > 0)); then + cpupower set "${params[@]}" >/dev/null || fail=1 + fi + + # print failure if any + (($fail > 0)) && stat_fail && exit 1 || stat_done + ;; + *) + echo "usage: $0 {start|restart}" +esac + +true + +# vim:set ts=2 sw=2 ft=sh et: |