[acpi_cpufreq] Changement dynamique de la tension processeur

Reconnaissance et configuration du matériel / kernel linux
mok.
Hankyu
Messages : 29
Inscription : dim. 10 févr. 2008, 14:41

[acpi_cpufreq] Changement dynamique de la tension processeur

Message par mok. »

Salut,

J'ai installé arch sur mon portable, j'ai biensûr installé cpu_freq et les "gouvernors" adéquats afin de changer la fréquence du cpu de façon dynamique.

Apparement cpu_freq n'influe que sur la fréquence du processeur (d'où son nom :o) et non sur sa tension d'alimentation.

Sur processeur intel, Speedstep permet d'abaisser dynamiquement la tension du cpu lorsque sa fréquence baisse, et certains softs sous windows ou osx le font très bien (NHC, CoolBook).

J'ai trouvé quelques lectures sur ce sujet sous linux

http://www.thinkwiki.org/wiki/Pentium_M ... erclocking

http://www.w1n-france.com/wiki/doku.php ... dervoltage

Si quelqu'un avait une expérience à partager sur le sujet :)
Dernière modification par mok. le jeu. 06 mars 2008, 21:32, modifié 1 fois.
_alexmyself
Chu Ko Nu
Messages : 405
Inscription : lun. 18 sept. 2006, 16:21
Localisation : france, yvelines 78

Message par _alexmyself »

modprobe speedstep-centrino, ou quelque chose approchant devrait ameliorer le resultat de cpufreq.
pour entendre si ca marche tu peut modifier /etc/conf.d/cpufreq et faire passer de powersave a performance, enfin du moins chez moi c'est radical, les ventilo se mettent en route direct..enfin après un petit /etc/rc.d/cpufreq restart quand meme..
Avatar de l’utilisateur
Tebo
Chu Ko Nu
Messages : 368
Inscription : sam. 17 mars 2007, 23:24

Message par Tebo »

acpi-cpufreq est le module à privilégier.

Sinon voila un petit script à placer dans /etc/rc.d/scal, qui positionne le governor ondemand sur les deux proc de mon laptop.

Code : Tout sélectionner

#!/bin/sh
# Gouverneur « ondemand »  	 
# Choisit une fréquence CPU maximale lorsque le système est chargé et 
# la redescend progressivement lorsque le système est inactif. 

# Gouverneur « conservative »
# Categorie : Noyau
# À la différence du gouverneur ondemand, le conservative ne saute pas 
# directement à la fréquence maximale lorsque le système est en pleine 
# charge, mais augmente celle-ci progressivement.

. /etc/rc.conf
. /etc/rc.d/functions

GREEN="\033[32;01m"
RED="\033[31;01m"
LIGHT_BLUE="\033[36;01m"

case "$1" in
  start)
    stat_busy "cpufreq_ondemand"
    echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
    echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    echo -en "$GREEN *$LIGHT_BLUE Governor ondemand, Current cpu0 & cpu1 frequency : $RED"
    echo $((`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq` /1000)) "Mhz";
    #echo $((`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq` / 1000)) "Mhz";
    if [ $? -gt 0 ]; then
      stat_fail
    else
      stat_done
    fi
    ;;
  stop)
    stat_busy "cpufreq_performance"
    echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
    echo -en "$GREEN *$LIGHT_BLUE Governor performance, Current cpu0 frequency : $RED"
    #echo $((`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq` / 1000)) "Mhz";

    if [ $? -gt 0 ]; then
      stat_fail
    else
      stat_done
    fi
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}"  
esac
Dernière modification par Tebo le ven. 07 mars 2008, 13:39, modifié 1 fois.
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

pourquoi tu utilises pas tout simplement le script cpufreq?
mok.
Hankyu
Messages : 29
Inscription : dim. 10 févr. 2008, 14:41

Message par mok. »

Salut,

En fait mes lectures m'ont induit en erreur, je pensais qu'acpi_cpufreq ne gérait pas la tension du processeur, or ça à l'air d'être le cas. Merci de m'avoir aiguillé dans la bonne direction !

J'ai trouvé un petit lien qui explique tout ça :

http://www.thekip.nl/2007/11/12/ubuntu- ... cpufreqko/
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Message par Cactus »

Je ne maitrise pas du tout ce sujet, mais j'ai testé la gestion du CPU "ondemand" grâce aux wikis, et j'en suis vite revenu !
En effet, en utilisation courante, mon %CPU varie bcp et sur une grande échelle (aller-retour 0 à 100%, toutes les 2 secondes), ce qui fait que le gouverneur de puissance passe son temps à adapter la fréquence... et j'ai constaté une chute vertigineuse des perfs.
Du coup, je suis revenu au réglage "performance" (100% de puissance tout le temps).
A voir plus tard lorsque j'aurai un CPU multi-coeur... ;)
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

Cactus a écrit :En effet, en utilisation courante, mon %CPU varie bcp
tu devrais essayer la politique conservative qui va le monter par palier au lieu de directement le mettre à 100%

sinon, tu peux aussi jouer sur la différence à atteindre pour changer la frequence, pour ondemand par exemple:
/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
(et cpu1 si tu as un multicoeur ou un cpu ht)
elle est par défaut de 80 normalement

pour conservative, tu peux jouer sur la différence pour descendre la frequence et sur celle pour monter:
/sys/devices/system/cpu/cpu0/cpufreq/conservative/down_threshold
/sys/devices/system/cpu/cpu0/cpufreq/conservative/up_threshold

(je rajouterai ca dans le wiki)
Avatar de l’utilisateur
Tebo
Chu Ko Nu
Messages : 368
Inscription : sam. 17 mars 2007, 23:24

Message par Tebo »

tuxce a écrit :pourquoi tu utilises pas tout simplement le script cpufreq?
Ben je n'ai rien à installer. De plus le quenelle que le laptop a compilé, a les modules en "dure".
tuxce a écrit :tu peux aussi jouer sur la différence à atteindre pour changer la fréquence
/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
Qu'es que tu appelle la différence?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

cpufreq fait partie du paquet cpufrequtils
/etc/rc.d/cpufreq n'est en fait qu'un script qui fait en fin de compte ce que fait ton script avec l'avantage d'être configurable (un minimum) par le fichier /etc/conf.d/cpufreq
mais bon un script est tout aussi bien, chacun prend ce qu'il veut :)


la différence était peut etre pas le bon terme, plutot le seuil:
http://wiki.archlinux.fr/howto:cpufreq# ... on_avancee
Répondre