Undervoltage CPU

Salut!
L’undervoltage du cpu permet de diminuer la température et l’autonomie sans sacrifier la performance,
source : http://www.linux-phc.org/. La procédure est, contrairement à l’overclocking, sans danger.

  1. on récupère le bon patch (intel ou AMD) ici http://www.linux-phc.org/forum/viewtopic.php?f=13&t=2, pour moi intel qui sera pris comme example.

  2. on le decompresse
    tar -xf ~/phc-intel-0.3.2-10.tar.bz2

  3. on se place dans le dossier créé
    cd ~/phc-intel-0.3.2-10

  4. Préparation, construction, intallation du paquet debian
    make prepare

checkinstall make install

  1. On lance le module

modprobe phc-intel

(parfois il est nécessaire de dé-charger acpi-cpufreq : modprobe -r acpi-cpufreq)

  1. Voltage par défaut et modification
    les valeurs par défauts : # cat /sys/devices/system/cpu/cpu0/cpufreq/phc_default_vids
    pour les modifier : # echo “vos_valeurs” > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids && echo “vos_valeurs” > /sys/devices/system/cpu/cpu1/cpufreq/phc_vids
    (si vous avez deux core…)
    Diminuez progressivement jusqu’à ce que ça freeze, pour chaque fréquence de votre proc, passez à une valeur supérieur et sollicitez-le. Si ça re-freeze, on recommence…

ex: pour mon qosmio F50 (P8600) : 23 13 9 (pour 2,4 ; 1,8 ; 0,8 GHz)
pour un dell inspiron 6400 (t2400) : défaut 44 29 19, nouvelles 28 21 11 (pour 1,8 ; 1,4 ; 1 GHz)

Un fois qu’on a nos valeurs stables, on va lancer le module au démarrage, des scripts sont proposés dans le forum, je l’ai vu après coup, moi j’ai fait d’intinct comme ça:
script phc-intel :
#! /bin/sh

undervoltage

modprobe -r acpi-cpufreq && modprobe phc-intel && echo 28 21 11 > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids && echo 28 21 11 > /sys/devices/system/cpu/cpu1/cpufreq/phc_vids

rendu exécutable, copié dans /etc/init.d, puis lié dans /etc/rcS.d avec S31 comme priorité…

Je n’ai pas fait de test de température/autonomie par manque de temps mais les ventilo se sont bien calmés :smiley:
Une page du forum cité plus haut est d’ailleurs consacrée à cela…

Voilà enjoy! :mrgreen:

sa pourrait s’avérer utile sur les portables :slightly_smiling:
dommage que le paquet ne soit pas dans apt (note j’ai pas fouiner la flemme :mrgreen: )

Pour les remarques :

viewtopic.php?f=1&t=27389

Bonjour,

Le ventilo tournant en permanence avec une température de 58° au repos, je viens d’installer phc-k8, version AMD, sur mon HP Probook, par DKMS.
Mais je ne comprends pas très bien comment l’utiliser. Ci-après un extrait du readme :

[code]2. Usage:

The PHC K8 driver uses “fid” instead of a frequency and “vid” instead of voltage. This is because that is what is used internally by AMD processors. To convert between frequency and fid you can use:
frequency = 800MHz + (100MHz * fid)
fid = (frequency/100MHz) - 8
To convert between voltage and vid, you will need to know what processor you have. To calculate the voltage you should probably use “millivolts = 1550 - 25vid" for desktop processors and "millivolts = 1450 - 25vid” for mobile processors. (Probably, because this is not well documented by AMD.)
E.g.:
AMD X2 processor:
vid = 16 => voltage = 1550 - 25 * 16 = 1150mV
Vid = 24 => voltage = 1550 - 25 * 24 = 950mV
Turion 64 processor:
vid = 4 => voltage = 1450 - 25 * 4 = 1350mV
Vid = 22 => voltage = 1450 - 25 * 22 = 900mV

The phc-k8 driver can be used in two modes:
a) Native powernow-k8 mode (the default).
b) Relaxed powernow-k8 mode with direct transitions enabled (using “direct_transitions=1” as module option for the phc-k8 driver)

2.a Native powernow-k8 mode:

In native powernow-k8 mode, the voltages for each fid can be changed. This can be done either by using phc_vids or phc_controls in /sys/devices/system/cpu/cpu/cpufreq/. The default vids can always be found in phc_default_vids, the default controls in phc_default_controls
E.g.:
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
4 6 22
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
10:4 8:6 0:22
~# echo ‘10 14 24’ > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
10 14 24
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
10:10 8:14 0:24
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_default_vids
4 6 22
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_default_controls
10:4 8:6 0:22

2.b Relaxed powernow-k8 mode with direct transitions enabled:

In “direct transitions” mode, not only the vids can be changed, but the available frequencies as well. Especially for Laptop owners, this is really great! In fact, any frequency between the maximum frequency of the processor down to its minimum can be used, with steps of 100MHz. By default, only the frequencies supported by default are enabled. “Direct transitions” technically mean that during frequency transitions the driver jumps straight to the new frequency, instead of applying an algorithm to move gradually towards it. This enables the driver to choose any fid the processors’ minimum and the processors’ maximum.

Look into /sys/devices/system/cpu/cpu/cpufreq/phc_available_fids to see what fids are available in either mode.
To change the sets of frequencies/voltages, the best interface to use is:
/sys/devices/system/cpu/cpu/cpufreq/phc_controls
E.g.:
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
10:4 8:6 0:22
~# echo ‘10:10 8:14 2:22 0:24’ > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
10:10 8:14 2:22 0:24
~# cat /sys/devices/system/cpu/cpu0/cpufreq/phc_default_controls
10:4 8:6 0:22[/code]

Je ne trouve pas de fichier phc_default_vids.

J’ai cru comprendre qu’il faut connaître le modèle exact du processeur, et HP me donne l’embarras du choix dans la description de la bécane :

Type de processeur Processeur AMD Turion™ II Ultra Dual-Core Mobile M620 (2,5 GHz, 2 Mo de mémoire cache L2) ou processeur AMD Turion™ II Ultra Dual-Core Mobile M600 (2,4 GHz, 2 Mo de mémoire cache L2) ou processeur AMD Turion™ II Dual-Core Mobile M540 (2,4 GHz, 1 Mo de mémoire cache L2) ou processeur AMD Turion™ II Dual-Core Mobile M520 (2,3 GHz, 1 Mo de mémoire cache L2) ou processeur AMD Athlon™ II Dual-Core M340 (2,2 GHz, 1 Mo de mémoire cache L2) ou processeur AMD Athlon™ II Dual-Core M320 (2,1 GHz, 1 Mo de mémoire cache L2) ou processeur AMD Sempron™ M120 (2,1 GHz, 512 Ko de mémoire cache L2) ou processeur AMD Sempron™ M100 (2,0 GHz, 512 Ko de mémoire cache L2)

Salut,
Si tu n’as pas de fichier phc_default_vids c’est que le module n’est pas lancé correctement, tu n’as pas de message d’erreur quand tu le charges avec modprobe?

Je l’ai installé à partir du dossier de décompression après avoir installé DKMS, comme indiqué dans le readme :

C’est la seule commande pour l’installation. Je ne sais pas s’il y avait un message d’erreur dans tout ce qui a défilé dans le terminal.

dkms status donne quoi? et quand tu essaies de le charger avec modprobe?

dkms status :
phc-k8, 0.4.2, 2.6.30-2-amd64, x86_64: installed

Utilisation de modprobe : aucun message d’erreur. Aucun changement.
Une incompatibilité entre le module et le processeur? Ou un voltage classé secret de fabrication par AMD ?