]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | ######################################################################## | |
3 | # Begin $rc_base/init.d/cpufreq | |
4 | # | |
5 | # Description : Initalisize and startup cpufreq and set a governor | |
6 | # | |
7 | # Authors : Arne Fitzenreiter - arne_f@ipfire.org | |
8 | # | |
9 | # Version : 01.01 | |
10 | # | |
11 | # Notes : | |
12 | # | |
13 | ######################################################################## | |
14 | ||
15 | . /etc/sysconfig/rc | |
16 | . ${rc_functions} | |
17 | ||
18 | case "${1}" in | |
19 | start) | |
20 | boot_mesg -n "Starting cpufreq... " | |
21 | ||
22 | # try cpufreq hardware depend modules | |
23 | for i in $(find /lib/modules/$(uname -r)/kernel/drivers/cpufreq \ | |
24 | ! -name speedstep-lib.ko ! -name p4-clockmod.ko ! -name "cpufreq_*" ! -name mperf.ko | sort -d -r); do | |
25 | module=$(basename $i | cut -d. -f1); | |
26 | modprobe $module > /dev/null 2>&1; | |
27 | if [ ${?} = 0 ]; then | |
28 | boot_mesg -n "$SUCCESS$module$NORMAL " | |
29 | fi | |
30 | done | |
31 | boot_mesg "" | |
32 | ||
33 | # load cqufreq governors | |
34 | modprobe cpufreq_conservative | |
35 | modprobe cpufreq_ondemand | |
36 | modprobe cpufreq_powersave | |
37 | modprobe cpufreq_userspace | |
38 | ||
39 | CPUCOUNT=`ls /sys/devices/system/cpu/cpu*/cpufreq/affected_cpus 2> /dev/null | wc -l `; | |
40 | let CPUCOUNT-=1 | |
41 | # Set the governor to ondemand to test if it works | |
42 | cpufreq-set -g ondemand | |
43 | if [ ${?} = 0 ]; then | |
44 | # activate cpufreq collectd module | |
45 | sed -i -e "s|^#LoadPlugin cpufreq|LoadPlugin cpufreq|g" /etc/collectd.conf | |
46 | ||
47 | # Set the governor to ondemand for all cpus | |
48 | for i in `seq 0 $CPUCOUNT`; | |
49 | do | |
50 | cpufreq-set -c $i -g ondemand | |
51 | done | |
52 | echo_ok; | |
53 | else | |
54 | echo_failure; | |
55 | fi | |
56 | exit 0; | |
57 | ;; | |
58 | *) | |
59 | echo "Usage: ${0} {start}" | |
60 | exit 1 | |
61 | ;; | |
62 | esac | |
63 | ||
64 | # End $rc_base/init.d/cpufreq | |
65 | ||
66 |