diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:25:51 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 02:25:51 +0000 |
commit | ac8399db6ce846597966360732ce6d39a247bdd2 (patch) | |
tree | 046a28d2cbd02afa147291e8f69e9bb5dc29f1aa /debian/extra/set-cpufreq | |
parent | Adding upstream version 241. (diff) | |
download | systemd-debian.tar.xz systemd-debian.zip |
Adding debian version 241-7~deb10u8.debian/241-7_deb10u8debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/extra/set-cpufreq')
-rwxr-xr-x | debian/extra/set-cpufreq | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/debian/extra/set-cpufreq b/debian/extra/set-cpufreq new file mode 100755 index 0000000..4ffe126 --- /dev/null +++ b/debian/extra/set-cpufreq @@ -0,0 +1,46 @@ +#! /bin/sh +# Set the CPU Frequency Scaling governor to "ondemand"/"powersave" where available +set -eu + +FIRSTCPU=`cut -f1 -d- /sys/devices/system/cpu/online` +AVAILABLE="/sys/devices/system/cpu/cpu$FIRSTCPU/cpufreq/scaling_available_governors" +DOWN_FACTOR="/sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor" + +[ -f $AVAILABLE ] || exit 0 + +read governors < $AVAILABLE +case $governors in + *interactive*) + GOVERNOR="interactive" + break + ;; + *ondemand*) + GOVERNOR="ondemand" + case $(uname -m) in + ppc64*) + SAMPLING=100 + ;; + esac + break + ;; + *powersave*) + GOVERNOR="powersave" + break + ;; + *) + exit 0 + ;; +esac + +[ -n "${GOVERNOR:-}" ] || exit 0 + +echo "Setting $GOVERNOR scheduler for all CPUs" + +for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor +do + [ -f $CPUFREQ ] || continue + echo -n $GOVERNOR > $CPUFREQ +done +if [ -n "${SAMPLING:-}" ] && [ -f $DOWN_FACTOR ]; then + echo -n $SAMPLING > $DOWN_FACTOR +fi |