Utilisation du nouveau "gouvernor" intégré dans le noyau 2.6.10 : ondemand. L'utilisation de powernowd devient obsolète.
Une des caractéristiques des processeurs Centrino est de faire varier la fréquence du CPU en fonction des besoins à un instant donné : le cpu frequency scaling (qui n'a pas de traduction francaise aussi pertinente). Cette fonction est très intéressante puisqu'elle permet de rallonger le temps de fonctionnement du portable lorsqu'il est sur batterie.
Plusieurs étapes sont nécessaires pour le faire fonctionner.
Tout d'abord, il faut activer les bons modules dans le noyau, vous devez avoir ceci :
[*] CPU Frequency scaling [ ] Enable CPUfreq debugging < > /proc/cpufreq interface (deprecated) Default CPUFreq governor (userspace) ---> <M> 'performance' governor <M> 'powersave' governor --- 'userspace' governor for userspace frequency scaling [ ] /proc/sys/cpu/ interface (2.4. / OLD) <M> 'ondemand' cpufreq policy governor <M> CPU frequency table helpers --- CPUFreq processor drivers < > ACPI Processor P-States driver < > AMD Mobile K6-2/K6-3 PowerNow! < > AMD Mobile Athlon/Duron PowerNow! < > AMD Opteron/Athlon64 PowerNow! < > Cyrix MediaGX/NatSemi Geode Suspend Modulation <M> Intel Enhanced SpeedStep [*] Use ACPI tables to decode valid frequency/voltage pairs [*] Built-in tables for Banias CPUs < > Intel Speedstep on ICH-M chipsets (ioport interface) < > Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface) < > Intel Pentium 4 clock modulation < > nVidia nForce2 FSB changing < > Transmeta LongRun < > VIA Cyrix III Longhaul --- shared options [ ] /proc/acpi/processor/../performance interface (deprecated)
Avant de continuer, il faut vérifier que vous avez bien le module "speedstep_centrino" chargé. Si vous avez suivi depuis le début, celui-ci devrait être chargé. Vous devez obtenir quelque chose comme ceci :
speedstep_centrino 8212 1 freq_table 4100 1 speedstep_centrino
Si ce n'est pas le cas, vous pouvez le charger en regardant dans la partie "Modules".
Même chose pour les modules "governor". Vérifier qu'ils sont chargés :
cpufreq_ondemand 6620 1 cpufreq_powersave 1728 0 cpufreq_performance 2048 0
Si ce n'est pas le cas, vous pouvez le charger en regardant dans la partie "Modules".
Maintenant que tout est bon, vous devez vous rendre dans le répertoire regroupant toutes les infos relatives au "frequency scaling" :
La première chose à faire est de choisir le mode de fonctionnement du frequency scaling. Pour afficher les différents modes possibles, faites :
ondemand powersave performance userspace
Dans ce cas ci, il y a donc quatre modes de fonctionnements : ondemand, powersave, performanceet userspace. Je vais vous faire une brève description de chacun de ces quatre modes de fonctionnement. Le mode ondemand fait varier la fréquence dynamiquement suivant la charge du processeur. Le mode powersave permet de fixer la fréquence à sa valeur minimale, au contraire du mode performance qui fixe celle-ci au maximum. Le mode userspace travaille en collaboration avec le mode ondemand. Nous allons prendre le mode ondemand qui est le plus approprié pour nos besoin. Pour cela, faites :
Apparait alors un fichier nommé scaling_setspeed qui contient la fréquence actuelle du CPU. Pour connaitre cette fréquence, faites :
La fréquence variera entre sa valeur minimale et sa valeur maximale, c'est à dire :
600000$ cat scaling_max_freq
1500000
Elle prendra des valeurs comprises entre :
1500000 1400000 1200000 1000000 800000 600000
Enfin, pour vous permettre de voir la fréquence du CPU en temps réel, je vous propose d'utiliser un petit applet :
Pour le rajouter à votre tableau de bord : Ajouter au tableau de bord > Indicateur de Fréquence du CPU.