summaryrefslogtreecommitdiff
path: root/libre/linux-libre-tools/cpupower.rc
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <andre@pc-01.localdomain>2012-03-22 02:41:01 -0300
committerAndré Fabian Silva Delgado <andre@pc-01.localdomain>2012-03-22 02:41:01 -0300
commit71d6cf93f41e9353bd4878d5fda61f14b988e252 (patch)
treefd6d9b8137b9658ce21973ee65be904d1c42da7b /libre/linux-libre-tools/cpupower.rc
parent0c4a6c2a6d9d1b23041fef3d6087e31c66f79e9e (diff)
downloadabslibre-71d6cf93f41e9353bd4878d5fda61f14b988e252.tar.gz
abslibre-71d6cf93f41e9353bd4878d5fda61f14b988e252.tar.bz2
abslibre-71d6cf93f41e9353bd4878d5fda61f14b988e252.zip
libre/linux-libre-tools
Diffstat (limited to 'libre/linux-libre-tools/cpupower.rc')
-rw-r--r--libre/linux-libre-tools/cpupower.rc41
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: