aboutsummaryrefslogtreecommitdiff
path: root/files/.zsh/rc/S50_functions
diff options
context:
space:
mode:
Diffstat (limited to 'files/.zsh/rc/S50_functions')
-rw-r--r--files/.zsh/rc/S50_functions24
1 files changed, 24 insertions, 0 deletions
diff --git a/files/.zsh/rc/S50_functions b/files/.zsh/rc/S50_functions
index b3b09ff..be73970 100644
--- a/files/.zsh/rc/S50_functions
+++ b/files/.zsh/rc/S50_functions
@@ -40,4 +40,28 @@ EOM
stocks "$1=x"
}
+setgov() {
+ GOVS=($(cpufreq-info -g))
+
+ if [ -z "$1" ] ; then
+ cat <<EOM
+setgov GOVNAME
+
+Set CPU governor, available are: $GOVS
+
+Current governor is: $(cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | sort -u | xargs echo)
+EOM
+ return
+ fi
+
+ if [ ${GOVS[(i)$1]} -le ${#GOVS} ] ; then
+ for ((i=0; i<$(nproc); i++)) ; do
+ sudo cpufreq-set -c $i -r -g $1
+ done
+ else
+ echo "Unsupported governor: $1"
+ return 1
+ fi
+}
+
# vim: ft=zsh :