#
# Authors : Arne Fitzenreiter - arne_f@ipfire.org
#
-# Version : 00.00
+# Version : 01.01
#
# Notes :
#
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
+ for i in $(find /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq \
+ ! -name speedstep-lib.ko ! -name p4-clockmod.ko | sort -d -r); do
+ module=$(basename $i | cut -d. -f1);
+ modprobe $module > /dev/null 2>&1;
+ if [ ${?} = 0 ]; then
+ boot_mesg -n "$SUCCESS$module$NORMAL "
+ fi
done
boot_mesg ""
modprobe cpufreq_powersave
modprobe cpufreq_userspace
- # Set the governor to ondemand
+ CPUCOUNT=`ls /sys/devices/system/cpu/cpu*/cpufreq/affected_cpus 2> /dev/null | 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
+ 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;
esac
# End $rc_base/init.d/cpufreq
+
+