summaryrefslogtreecommitdiff
path: root/libre/linux-libre-tools/cpupower.systemd
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-11-06 13:37:54 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-11-06 13:37:54 -0300
commita48d075b90120462b9f97ab95a224d47e072f7dd (patch)
tree8ba729381a11d91f09b298d888636425c549498b /libre/linux-libre-tools/cpupower.systemd
parent4ce84837520f8c56ae998d5d2d98380faf3e3eb5 (diff)
parent8ab3c2d0517cb4db3ab2f7635d0b71b701e464ba (diff)
Merge branch 'master' of ssh://gparabola/srv/git/abslibre
Diffstat (limited to 'libre/linux-libre-tools/cpupower.systemd')
-rwxr-xr-xlibre/linux-libre-tools/cpupower.systemd32
1 files changed, 32 insertions, 0 deletions
diff --git a/libre/linux-libre-tools/cpupower.systemd b/libre/linux-libre-tools/cpupower.systemd
new file mode 100755
index 000000000..f45b02bc8
--- /dev/null
+++ b/libre/linux-libre-tools/cpupower.systemd
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+. /etc/conf.d/cpupower
+
+declare -i fail=0
+
+# parse frequency options
+declare -a params=()
+params+=(${governor:+-g $governor})
+params+=(${min_freq:+-d $min_freq})
+params+=(${max_freq:+-u $max_freq})
+params+=(${freq:+-f $freq})
+
+# apply frequency options
+if ((${#params[@]} > 0)); then
+ cpupower frequency-set "${params[@]}" >/dev/null || fail=1
+fi
+
+# parse cpu options
+declare -a params=()
+params+=(${mc_scheduler:+-m $mc_scheduler})
+params+=(${smp_scheduler:+-s $smp_scheduler})
+params+=(${perf_bias:+-b $perf_bias})
+
+# apply cpu options
+if ((${#params[@]} > 0)); then
+ cpupower set "${params[@]}" >/dev/null || fail=1
+fi
+
+exit $fail
+
+# vim:set ts=2 sw=2 ft=sh et: