#!/bin/bash # ### BEGIN INIT INFO # Provides: cpufreq # Default-Start: 2 3 4 5 # Short-Description: Set CPU frequency settings # Description: Set CPU frequency settings ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions RETVAL=0 start() { gprintf "Setting CPU frequency settings: " touch /var/lock/subsys/cpufreq test -f /etc/sysconfig/cpufreq && . /etc/sysconfig/cpufreq for cpu in /sys/devices/system/cpu/* ; do [ "x$GOVERNOR" != "x" ] && [ -f $cpu/cpufreq/scaling_governor ] && echo $GOVERNOR > $cpu/cpufreq/scaling_governor [ "x$MAX_FREQ" != "x" ] && [ -f $cpu/cpufreq/scaling_max_freq ] && echo $MAX_FREQ > $cpu/cpufreq/scaling_max_freq [ "x$MIN_FREQ" != "x" ] && [ -f $cpu/cpufreq/scaling_min_freq ] && echo $MIN_FREQ > $cpu/cpufreq/scaling_min_freq done success echo } real_stop() { gprintf "Resetting CPU frequency settings: " # make sure no governor module is in use first # by switching to userspace governor (because it's built-in and won't modify frequency) for cpu in /sys/devices/system/cpu/* ; do [ -f $cpu/cpufreq/scaling_governor ] && echo userspace > $cpu/cpufreq/scaling_governor done rm -f /var/lock/subsys/cpufreq success echo } restart() { real_stop start } case "$1" in start) start ;; stop) ;; restart|reload) restart ;; condrestart) if [ -f /var/lock/subsys/cpufreq ]; then restart fi ;; status) [ -f /var/lock/subsys/cpufreq ] RETVAL=$? ;; *) gprintf "Usage: %s {start|stop|restart|condrestart|status}\n" `basename $0` RETVAL=1 ;; esac exit $RETVAL