Configuration de la gestion dynamique de la fréquence du processeur dans le noyau

Suivant un article disponible ici tout est fourni pour permettre le support de cpu-freq…
Je dois donc installer les sources du noyau, le patcher, pour commencer, il faut aussi installer les RPM de gcc et de Make (grrrrrrrr ce n’est pas par défaut !! on est plus sous Linux ou quoi ?!?) bon passons !

Etape n°1 – récupérer la config du noyau courant pour le futur noyau par un petit make cloneconfig des familles.
Etape n°2 – patcher comme dans la doc, à  savoir :

  • décompresser l’archive kernel_e_powersaver_v…zip
  • aller dans le directory créé : cd kernel_e_powersaver
  • copier le fichier e_powersaver.c vers les sources de linux arch/i386/kernel/cpu/cpufreq/ en ayant pris soin de sauvegardé préalablement le fichier d’origine.
  • lancer la configuration du noyau make xconfig (a condition d’installer les lib qt de développement)
  • le noyau est alors modifié comme indiqué dans la documentation de référence (choix du modèle de processeur de type C7 et configuration de la gestion de la fréquence du CPU au niveau utilisateur.
  • le noyau est recompilé par la commande make puis make modules_install
  • copier les élements du nouveau noyau dans /boot (voir doc)
  • créer l’initrd (simplement en tapant mkinitrd)
  • créer la nouvelle entrée dans grub/menu.lst (comme dans la doc)

Apres un reboot sur le nouveau noyau, il faut charger le module modprobe e_powersaver puis il est possible de modifier la fréquence de fonctionnement du cpu en allant dans le répertoire /sys/devices/system/cpu/cpu0/cpufreq. Il sera alors possible de passer le cpu à  800 Mhz en envoyant echo 798096 > scaling_setspeed ou de revenir à  la frequence haute avec la valeur 1795716. J’ai pu vérifié le résultat avec un petit programme de calcul très simple, rien à  dire à  1800MHz ca va plus de 2 fois plus vite.Il reste à  voir si l’on ne peut pas avoir plus de valeur ou au moins forcer un 1G plutot que 800M…
Attention, les nombre donnés ci-dessus peuvent varier, il faut donc lire le fichier scaling_available_frequencies pour connaitre les bonne valeurs.

Du coup, pour que la manip soit complete, il faudrait arriver à  piloter le PWM des ventilo car le système géré par le bios n’a pas l’air de fonctionner au top une fois Linux démarré… et il serait alors possible de choisir un mode rapide avec ventilo et un mode traquilou… sans ventilo ! Ce qui va me conduire à  bricoler quelque chose autour de ce lien… à  suivre dans un prochain article …

This entry was posted in Silent Computing. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.