mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-13 12:32:59 +02:00
67 lines
1.6 KiB
Bash
67 lines
1.6 KiB
Bash
#!/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 : 01.01
|
|
#
|
|
# Notes :
|
|
#
|
|
########################################################################
|
|
|
|
. /etc/sysconfig/rc
|
|
. ${rc_functions}
|
|
|
|
case "${1}" in
|
|
start)
|
|
boot_mesg -n "Starting cpufreq... "
|
|
|
|
# try cpufreq hardware depend modules
|
|
for i in $(find /lib/modules/$(uname -r)/kernel/drivers/cpufreq \
|
|
! -name speedstep-lib.ko ! -name p4-clockmod.ko ! -name "cpufreq_*" ! -name mperf.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 ""
|
|
|
|
# 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 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
|
|
|
|
# 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
|
|
|
|
|