#!/bin/sh ######################################################################## # Begin $rc_base/init.d/cpufreq # # Description : Initalisize and startup cpufreq and set a governor # # Authors : Arne Fitzenreiter - arne_f@ipfire.org # # Version : 00.00 # # Notes : # ######################################################################## . /etc/sysconfig/rc . ${rc_functions} case "${1}" in start) boot_mesg -n "Starting cpufreq... " # try cpufreq hardware depend modules for module in acpi-cpufreq cpufreq-nforce2 e-powersaver \ gx-suspmod longhaul longrun p4-clockmod powernow-k6 \ powernow-k7 powernow-k8 speedstep-centrino speedstep-ich \ speedstep-smi; do modprobe $module > /dev/null 2>&1; if [ ${?} = 0 ]; then boot_mesg -n "$SUCCESS$module$NORMAL " fi done boot_mesg "" # load cqufreq governors modprobe cpufreq_conservative modprobe cpufreq_ondemand modprobe cpufreq_powersave modprobe cpufreq_userspace CPUCOUNT=`ls /sys/devices/system/cpu/cpu*/cpufreq/affected_cpus | wc -l`; let CPUCOUNT-=1 # Set the governor to ondemand to test if it works cpufreq-set -g ondemand if [ ${?} = 0 ]; then # activate cpufreq collectd module sed -i -e "s|^#LoadPlugin cpufreq|LoadPlugin cpufreq|g" /etc/collectd.conf # Set the governor to ondemand for all cpus for i in `seq 0 $CPUCOUNT`; do cpufreq-set -c $i -g ondemand done echo_ok; else echo_failure; fi exit 0; ;; *) echo "Usage: ${0} {start}" exit 1 ;; esac # End $rc_base/init.d/cpufreq