12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #! /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
|