summaryrefslogtreecommitdiff
path: root/community/linux-tools/cpupower.pmutils
diff options
context:
space:
mode:
Diffstat (limited to 'community/linux-tools/cpupower.pmutils')
-rw-r--r--community/linux-tools/cpupower.pmutils37
1 files changed, 37 insertions, 0 deletions
diff --git a/community/linux-tools/cpupower.pmutils b/community/linux-tools/cpupower.pmutils
new file mode 100644
index 000000000..fb93cd7c1
--- /dev/null
+++ b/community/linux-tools/cpupower.pmutils
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+[[ -x /usr/bin/cpupower ]] || exit $NA
+
+CPUPOWER_GOVERNOR_AC=${CPUPOWER_GOVERNOR_AC:-ondemand}
+CPUPOWER_GOVERNOR_BAT=${CPUPOWER_GOVERNOR_BAT:-conservative}
+
+help() {
+ cat <<EOF
+--------
+$0: Select cpupower frequency governor.
+
+Parameters:
+CPUPOWER_GOVERNOR_AC = Governor to use on AC.
+Defaults to ondemand.
+
+CPUPOWER_GOVERNOR_BAT = Governor to use on battery.
+Defaults to conservative.
+
+EOF
+}
+
+cpupow() {
+ printf 'Setting cpupower frequency governor to %s...' "$1"
+ cpupower -c all frequency-set -g "$1"
+}
+
+case $1 in
+ true) cpupow "$CPUPOWER_GOVERNOR_BAT" ;;
+ false) cpupow "$CPUPOWER_GOVERNOR_AC" ;;
+ help) help;;
+ *) exit $NA ;;
+esac
+
+exit 0
+
+# vim:set ts=2 sw=2 ft=sh et: