S'identifier / Créer un compte
  • Actualités
  • Dossiers
  • Tests
  • Commentaires
  • INpactiens
Publicité

Noyau Linux : une solution au pépin de surconsommation d'énergie

Une consommation parfois supérieure d'un tiers

linux pingouin logoDepuis la version 2.6.38 du noyau Linux, les distributions ont enregistré une baisse notable de l’autonomie des batteries dans les ordinateurs portables. La régression avait été pointée du doigt rapidement mais il restait encore à cerner le problème pour proposer un correctif. Une solution a été trouvée par un développeur de Red Hat : imiter le comportement de Windows.

Une baisse conséquente d'autonomie en fonction des portables

Le problème apparu avec le noyau 2.6.38 se retrouve dans un grand nombre de distributions parmi les plus utilisées, notamment Ubuntu 11.10. Il prend sa source dans la gestion de l’ASPM (Active State Power Management) et provoque une surconsommation d’énergie et donc une baisse importante de l’autonomie.

La modification introduite dans le noyau Linux 2.6.38 était à la base assez simple : le support de l’ASPM était désactivé par défaut, sauf si le BIOS déclarait explicitement le gérer. Un changement intervenu car l’ASPM n’est pas forcément utilisé par tous les constructeurs. Le vrai problème vient en fait des BIOS eux-mêmes qui, s’ils sont capables de gérer l’ASPM, ne le déclarent pas forcément. Conséquence : le système pouvait couper l’accès à l’ASPM alors que celui-ci était présent mais non déclaré par le BIOS, avec à la clé une hausse de la consommation pouvant dépasser les 35 %.

Plusieurs constructeurs de cartes mères, notamment Gigabyte, avaient une réponse toute simple au souci : utiliser Windows. Malheureusement, cela ne pouvait pas convaincre les développeurs de solutions Linux. La question alors s’est posée de savoir comment Windows lui-même faisait pour déterminer quand le support de l’ASPM devait être activé ou pas.

Ne plus faire confiance au BIOS

La réponse est venue du développeur Matthew Garrett de Red Hat, connu notamment pour avoir remis en cause le Secure Boot de Windows 8. Une réponse complexe car il n’existe virtuellement aucune documentation sur le sujet. Seule piste de réflexion, une présentation de Microsoft sur la gestion du PCI Express dans Vista et versions ultérieures de Windows, puisque l’ASPM fait partie de la norme PCI-E.

Dans le patch conçu par Matthew Garrett, l’activation ou non de l’ASPM se fait via une prise de contrôle réussie sur le PCI Express par le système, tout en s’assurant que le réglage qui en découle n’est pas écrasé par l’information reflétée par le BIOS et qui est potentiellement inexacte. En tout et pour tout, 60 lignes de code se proposent de régler le problème de la consommation. Mais la question qui se pose est évidemment de savoir si cela fonctionne.

Le site Phoronix a testé ledit patch sur une demi-douzaine d’ordinateurs portables, et le constat est clair : la consommation des machines revient à un niveau normal et donc antérieur à l’arrivée du noyau 2.6.38. Dans le graphique ci-dessous fourni par Phoronix, on aperçoit les lignes représentant les consommations des noyaux 2.6.37, 2.6.38 et 3.2. La dernière est celle du noyau 3.2 patché, et on remarque que la consommation revient au niveau de celle du 2.6.37.

linux

Malheureusement, il faudra attendre pour la consécration officielle du patch. Les préparatifs du noyau 3.2 sont terminés. Or, il ne s’agit pas d’un correctif classique mais d’un changement important dans le comportement du système et il ne devrait en conséquence pas apparaître avant la version 3.3 du noyau. Le patch peut tout de même être récupéré et appliqué sur la version actuelle du noyau 3.2.

On remarquera que l’origine du problème est avant tout un manque de documentation sur l’ASPM ainsi que de communication sur l’implémentation réalisée par les constructeurs.
Source : Phoronix
Vincent Hermann

Rédacteur/journaliste spécialisé dans le logiciel et en particulier les systèmes d'exploitation. Ne se déplace jamais sans son épée.

Publiée le 16/11/2011 à 11:24

Soutenez l'indépendance de Next INpact en devenant Premium

  • Tout le contenu de Next INpact sans pub
  • Et bien plus encore...

Il y a 158 commentaires

Avatar de Dunaedine INpactien
Dunaedine Le mercredi 16 novembre 2011 à 11:30:55
Inscrit le samedi 7 janvier 06 - 15989 commentaires
Les constructeurs se révèlent assez pathétique dans cette histoire. Comme d'hab. Je note la communication de Gigabyte pour mon prochain choix de carte mère.
Avatar de uzak INpactien
uzak Le mercredi 16 novembre 2011 à 11:32:00
Inscrit le vendredi 12 mai 06 - 6883 commentaires
Encore un problème de pilotes quoi
Avatar de manudwarf Modérateur
manudwarf Le mercredi 16 novembre 2011 à 11:32:38
Inscrit le dimanche 14 décembre 08 - 4183 commentaires


(c'est à peu près tout ce que m'inspire le comportement des constructeurs sur cette affaire)
Avatar de Enyths INpactien
Enyths Le mercredi 16 novembre 2011 à 11:32:54
Inscrit le vendredi 31 août 07 - 1620 commentaires
Bonne nouvelle pour les Linuxien. J'avais aussi noté cette baisse sur ArchLinux.
Avatar de Tim-timmy INpactien
Tim-timmy Le mercredi 16 novembre 2011 à 11:35:10
Inscrit le mardi 26 avril 05 - 4652 commentaires
oui enfin ça commençait à dater un peu le 2.6.38 .. repasser sur l'ancien modèle de fonctionnement en attendant la résolution aurait été logique pour les dernières versions du noyau :\
Avatar de IAmNotANumber INpactien
IAmNotANumber Le mercredi 16 novembre 2011 à 11:35:40
Inscrit le vendredi 22 octobre 10 - 2036 commentaires
Bonne nouvelle pour les Linuxien. J'avais aussi noté cette baisse sur ArchLinux.


Bonne nouvelle en effet, j'avais remarqué la même chose sur mes portables (des Pentium Mobile de recup, de 3 modèles différents), sous Mandriva.
Avatar de brokensoul INpactien
brokensoul Le mercredi 16 novembre 2011 à 11:38:50
Inscrit le mardi 16 mai 06 - 4220 commentaires
à noter pour les linuxiens qui en ont besoin tout de suite qu'il était déjà possible de forcer ça depuis longtemps, dans le cas où votre matériel le supportait (quasiment tous les portables par exemple) : il suffit de rajouter l'option "pcie_aspm=force" à votre ligne de lancement de kernel (je sais, ce n'est pas très user-friendly, et c'est pour ça que la solution proposée par Garrett est bien meilleure). Il est conseillé de tester initialement (en éditant la ligne sous grub, en tapant "e") avant de rentrer ça dans les choix par défaut, le système se bloque si le hardware ne le supporte pas. MP pour des précisions pour les intéressés
Avatar de brokensoul INpactien
brokensoul Le mercredi 16 novembre 2011 à 11:39:28
Inscrit le mardi 16 mai 06 - 4220 commentaires
oui enfin ça commençait à dater un peu le 2.6.38 .. repasser sur l'ancien modèle de fonctionnement en attendant la résolution aurait été logique pour les dernières versions du noyau :\

tu peux avec l'option pcie_aspm justement
Avatar de liukahr INpactien
liukahr Le mercredi 16 novembre 2011 à 11:39:54
Inscrit le mardi 6 juin 06 - 698 commentaires
oui enfin ça commençait à dater un peu le 2.6.38 .. repasser sur l'ancien modèle de fonctionnement en attendant la résolution aurait été logique pour les dernières versions du noyau :\

S'ils ont changé quelque chose dans le 2.6.38, c'est peut-être que l'ancien code posait un problème. Comme activer l'ASPM là où il n'était pas supporté par exemple.
Enfin moi je dis ça ...
Avatar de Tim-timmy INpactien
Tim-timmy Le mercredi 16 novembre 2011 à 11:40:10
Inscrit le mardi 26 avril 05 - 4652 commentaires
oui oui, mais c'était pas par défaut .. rien de bien grave cela dit, l'info se trouvait pas trop difficilement
;