summaryrefslogtreecommitdiff
path: root/libre/linux-libre-tools/cpupower.systemd
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@lavabit.com>2012-08-06 02:29:55 -0300
committerAndré Fabian Silva Delgado <emulatorman@lavabit.com>2012-08-06 02:29:55 -0300
commit5393c17de2a2ced3a26662b725bcdcfe6b4dd3d8 (patch)
tree2cc313432daf1aad65b8e9787a5477355780a09a /libre/linux-libre-tools/cpupower.systemd
parent939513f5277797e1e2cf74676e90865b4c6db276 (diff)
linux-libre-tools-3.5-2: updating revision
Diffstat (limited to 'libre/linux-libre-tools/cpupower.systemd')
-rw-r--r--libre/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 100644
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: