diff options
Diffstat (limited to 'source/a/sysvinit-scripts/scripts/rc.cpufreq')
-rw-r--r-- | source/a/sysvinit-scripts/scripts/rc.cpufreq | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/source/a/sysvinit-scripts/scripts/rc.cpufreq b/source/a/sysvinit-scripts/scripts/rc.cpufreq new file mode 100644 index 00000000..571ce41c --- /dev/null +++ b/source/a/sysvinit-scripts/scripts/rc.cpufreq @@ -0,0 +1,48 @@ +#!/bin/sh +# +# rc.cpufreq: Settings for CPU frequency and voltage scaling in the kernel. +# For more information, see the kernel documentation in +# /usr/src/linux/Documentation/cpu-freq/ + + +# Default CPU scaling governor to try. Some possible choices are: +# performance: The CPUfreq governor "performance" sets the CPU statically +# to the highest frequency within the borders of scaling_min_freq +# and scaling_max_freq. +# powersave: The CPUfreq governor "powersave" sets the CPU statically to the +# lowest frequency within the borders of scaling_min_freq and +# scaling_max_freq. +# userspace: The CPUfreq governor "userspace" allows the user, or any +# userspace program running with UID "root", to set the CPU to a +# specific frequency by making a sysfs file "scaling_setspeed" +# available in the CPU-device directory. +# ondemand: The CPUfreq governor "ondemand" sets the CPU depending on the +# current usage. +# conservative: The CPUfreq governor "conservative", much like the "ondemand" +# governor, sets the CPU depending on the current usage. It +# differs in behaviour in that it gracefully increases and +# decreases the CPU speed rather than jumping to max speed the +# moment there is any load on the CPU. +SCALING_GOVERNOR=ondemand + +# If rc.cpufreq is given an option, use it for the CPU scaling governor instead: +if [ ! -z "$1" -a "$1" != "start" ]; then + SCALING_GOVERNOR=$1 +fi + +# If you need to load a specific CPUFreq driver, load it here. Most likely you don't. +#/sbin/modprobe acpi-cpufreq + +# Attempt to apply the CPU scaling governor setting. This may or may not +# actually override the default value depending on if the choice is supported +# by the architecture, processor, or underlying CPUFreq driver. For example, +# processors that use the Intel P-state driver will only be able to set +# performance or powersave here. +echo $SCALING_GOVERNOR | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 1> /dev/null 2> /dev/null + +# Report what CPU scaling governor is in use after applying the setting: +if [ -r /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ]; then + echo "Enabled CPU frequency scaling governor: $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)" +fi + +unset SCALING_GOVERNOR |