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 / | ||