Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
longhaul [2008/04/22 15:11] – angelegt gerald | longhaul [2008/04/22 15:32] (aktuell) – gelöscht gerald | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | Via Epia unterstützt Powersave: kann Frequenz runterregeln. Bei Linux macht das das Longhaul-Modul (Kernelmodul zum CPU-Reglen EPIA). | ||
- | Geregelt wird dann vom User (Userspace) oder automatischn (über Governor). | ||
- | The Epia SP8000E uses a 800MHz Nemiah core CPU. By loading the longhaul module - you can throttle the CPU (Tested with 2.6.11.6). Please note that there are many patches to the cpufrequency control - and many are unstable. If your System locks-Hard - you have a bad implementation :) | ||
- | So - all you need to do is enable the cpu frequency scaling by loading the longhaul module and some governors: | ||
- | |||
- | | ||
- | | ||
- | Check using the dmesg command to see if it loaded correctly. | ||
- | If this works - make sure the longhaul module gets loaded at every boot. For this - just add longhaul and cpufreq_powersave into the / | ||
- | Using longhaul - make sure your kernel was configured with the userspace-governor enabled by default - then change to: | ||
- | root # cd / | ||
- | cpufreq # ls | ||
- | affected_ cpuinfo_cur_freq | ||
- | cpuinfo_max_freq | ||
- | cpuinfo_min_freq | ||
- | scaling_available_frequencies | ||
- | scaling_available_governors | ||
- | scaling_cur_freq | ||
- | scaling_driver | ||
- | scaling_governor | ||
- | scaling_max_freq | ||
- | scaling_min_freq | ||
- | scaling_setspeed | ||
- | cpufreq # cat scaling_cur_freq | ||
- | 798000 | ||
- | cpufreq # cat scaling_available_frequencies | ||
- | 532000 598000 731000 798000 665000 | ||
- | cpufreq # echo 532000 > scaling_setspeed | ||
- | cpufreq # cat scaling_cur_freq | ||
- | 532000 | ||
- | |||
- | With the userspace governor activated | ||
- | cpufreq # cat scaling_available_governors | ||
- | userspace | ||
- | |||
- | The System will set the speed up to 800MHz in this special case - if required - and when idle again - go down with the frequency. In short - it will dynamically monitor the system load and regulate the CPU Frequency accordingly. If you want to stick the system into powersave mode - load the cpufreq_powersave.ko module | ||
- | cpufreq # modprobe cpufreq_powersave | ||
- | cpufreq # cat scaling_available_governors | ||
- | powersave userspace | ||
- | echo powersave > scaling_governor | ||
- | |||
- | This will make the CPU-Frequency sticky at the lowest speed your CPU can run at - and hopefully lower the overall system power consumption and heat dissipation This is what I have added to the system' | ||
- | sleep 60 | ||
- | echo powersave > / | ||
- | |||
- | http:// | ||
- | |||
- | |||
- | kurz: | ||
- | modprobe longhaul | ||
- | modprobe cpufreq_powersave | ||
- | echo powersave > / | ||
- | |||
- | |||
- | Skript: | ||
- | |||
- | script {hi/lo} | ||
- | |||
- | |||
- | #!/bin/sh | ||
- | # | ||
- | # sets the cpu-frequency low or high, | ||
- | # or (de)loads the longhaul-module | ||
- | # FOR VIA EPIA ONLY | ||
- | # made by Gerald Pienkowski | ||
- | |||
- | SYSPATH=/ | ||
- | |||
- | # Define some decent defaults | ||
- | # | ||
- | POWERMODE=powersave | ||
- | SPEED= | ||
- | |||
- | [ -f / | ||
- | |||
- | |||
- | # See how we were called. | ||
- | case " | ||
- | start|low|lo) | ||
- | POWERMODE=powersave | ||
- | echo -n " | ||
- | modprobe longhaul | ||
- | echo -n " | ||
- | modprobe cpufreq_${POWERMODE} | ||
- | echo ", cpufreq_${POWERMODE}" | ||
- | echo -n " | ||
- | echo " | ||
- | echo " | ||
- | if [ -f ${SYSPATH}/ | ||
- | then | ||
- | echo -n " | ||
- | echo " | ||
- | echo " | ||
- | fi | ||
- | $0 status | ||
- | ;; | ||
- | hight|hi) | ||
- | POWERMODE=performance | ||
- | echo -n " | ||
- | modprobe longhaul | ||
- | echo -n " | ||
- | modprobe cpufreq_${POWERMODE} | ||
- | echo ", cpufreq_${POWERMODE}" | ||
- | echo -n " | ||
- | echo " | ||
- | echo " | ||
- | if [ -f ${SYSPATH}/ | ||
- | then | ||
- | echo -n " | ||
- | echo " | ||
- | echo " | ||
- | fi | ||
- | $0 status | ||
- | ;; | ||
- | stop) | ||
- | echo -n " | ||
- | rmmod longhaul | ||
- | echo " | ||
- | $0 status | ||
- | ;; | ||
- | status) | ||
- | if [ -d / | ||
- | then | ||
- | DRIVER=`cat / | ||
- | POWERMODE=`cat / | ||
- | SPEED=`cat / | ||
- | echo " | ||
- | else | ||
- | echo "CPU Frequency Scaling deactivated !" | ||
- | fi | ||
- | ;; | ||
- | *) | ||
- | echo "*** Usage: cpufreq {hi|lo|hight|how|start|stop|status}\n" | ||
- | exit 1 | ||
- | esac | ||
- | |||
- | exit 0 | ||
- | echo -n "all available frequencies: | ||
- | cat / |