Noyau Linux : une solution au pépin de surconsommation d'énergie
Une consommation parfois supérieure d'un tiers
Depuis 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.
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.
Le 16 novembre 2011 à 11:24
(36 844
lectures)
Il y a 158 commentaires
Dr.Wily
Le mercredi 16 novembre 2011 à 12:24:31
#31
Inscrite
le mercredi 31 octobre 07
-
977
commentaires
Imiter Windows... J'ai rien contre cet OS mais au niveau de l'apm c'est un peu une gestion arbitraire. Selon les cartes mère, l'OS prend en compte, ou pas, (souvent "ou pas") le fait que l'utilisateur est effectué des réglages perso concernant l'économie d'énergie.
Du coup, même si vous ne voulez pas que votre ordinateur se mette en veille et bien W7 le placera quand même en veille au bout d'un certain temps d'utilisation. Constaté sur divers modèles de cartes mère.
Du coup, même si vous ne voulez pas que votre ordinateur se mette en veille et bien W7 le placera quand même en veille au bout d'un certain temps d'utilisation. Constaté sur divers modèles de cartes mère.
pas de problème chez moi avec un eeepc 1015. Pas compliqué à tester, sans risque :
- au démarrage, sélectionne la ligne de boot que tu veux, appuie sur "e" et rajoute "pcie_aspm=force" à la fin de la ligne d'options
- ensuite tu peux démarrer ("b" je crois, si non c'est marqué de toutes façons), c'est une modification temporaire
- si tout fonctionnes, tu peux faire un "sudo gedit /etc/default/grub" et tu rajoutes "pcie_aspm=force" à la fin de la ligne "GRUB_CMDLINE_LINUX_DEFAULT="
- tu enregistres en partant, puis "sudo update-grub" et roulez jeunesse (les prochains kernels auront automatiquement la bonne option
- au démarrage, sélectionne la ligne de boot que tu veux, appuie sur "e" et rajoute "pcie_aspm=force" à la fin de la ligne d'options
- ensuite tu peux démarrer ("b" je crois, si non c'est marqué de toutes façons), c'est une modification temporaire
- si tout fonctionnes, tu peux faire un "sudo gedit /etc/default/grub" et tu rajoutes "pcie_aspm=force" à la fin de la ligne "GRUB_CMDLINE_LINUX_DEFAULT="
- tu enregistres en partant, puis "sudo update-grub" et roulez jeunesse (les prochains kernels auront automatiquement la bonne option
OK j'essaierai ça merci
Edité par Konrad le mercredi 16 novembre 2011 à 12:25
Burn2
Le mercredi 16 novembre 2011 à 12:26:55
#33
Inscrit
le mardi 1 novembre 05
-
9697
commentaires
Tien vue qu'openSuse 11.2 sort aujourd'hui, ça tombe à pic cette news. Je m'en irait mettre l'option dans la ligne de grub au démarrage par sécurité. :o
(la 11.4 étant sous un noyau 2.6.37 je n'étais donc pas touché jusque là...)
(la 11.4 étant sous un noyau 2.6.37 je n'étais donc pas touché jusque là...)
Para-doxe
Le mercredi 16 novembre 2011 à 12:31:41
#34
Inscrit
le jeudi 27 octobre 11
-
979
commentaires
salut,
oui le bios doit céder sa place mais
1/ çà se fait lentement sur les nouvelles cartes mères,
2/ il y a beaucoup de pcs déjà en circulation avec des bios et une partie sous linux
3/ il y aura/a peut être le même soucis avec l'EFI...
oui le bios doit céder sa place mais
1/ çà se fait lentement sur les nouvelles cartes mères,
2/ il y a beaucoup de pcs déjà en circulation avec des bios et une partie sous linux
3/ il y aura/a peut être le même soucis avec l'EFI...
4/ la partition de boot devra être dans un système de fichier supporté par l'UEFI: Fat. Donc on est pas près de se débarasser de la taxe Microsoft.
5/ le sécure-boot peut potentiellement empêcher de démarrer un autre OS que les Windows pré-installé.
6/ la norme UEFI, c'est du caca. Lisez les spécifications et vous vomirez en boucle while(true). En plus Microsoft semble y avoir mi son grain de sel inutilement à pleins de niveaux et pour des trucs inutiles. Ça sent le passage après déploiement massif pour demander de payer des droits sur leurs brevets ça.
Donc les mecs savaient que le BIOS ne déclarait pas forcement et ils ont quand même fait la modif l'air de rien ? c'est pas très sérieux quand même.
MS aurait fait la même, ça aurait crié au scandale ....
MS aurait fait la même, ça aurait crié au scandale ....
Comme déjà dit, les versions précédentes du noyau provoquaient parfois des plantages. Il vaut mieux perdre un peu d'autonomie que de laisser les plantages, tu aurais voulu qu'ils fassent quoi ?
Et il faut arrêter avec la parano... Si Microsoft avait fait la même, l'argument que je viens de donner serait toujours valide.
Para-doxe
Le mercredi 16 novembre 2011 à 12:35:23
#36
Inscrit
le jeudi 27 octobre 11
-
979
commentaires
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
Donc les mecs savaient que le BIOS ne déclarait pas forcement et ils ont quand même fait la modif l'air de rien ? c'est pas très sérieux quand même.
MS aurait fait la même, ça aurait crié au scandale ....
La politique de départ était d'activer par défaut. Comme ça posait problème sur certains systèmes, la politique a été changé pour suivre les spécifications officiels. C'était la méthode ayant le meilleur rapport rapidité/efficacité.
Maintenant on a une solution adapté à l'incompétence des fabricants.
trash54
Le mercredi 16 novembre 2011 à 12:36:32
#37
Inscrit
le mardi 13 septembre 05
-
4799
commentaires
une solution à été donné pour patcher le noyau 3.2 en attendant, il y aurait un net changement parait il!, pour ceux qui sont intéressé par la manœuvre et qui n'ont pas peur de mettre les mains dans le cambouis allez voir sur le le libriste
gros doute sur la lecture de la news
paradise
Le mercredi 16 novembre 2011 à 12:43:06
#38
Inscrit
le dimanche 10 avril 05
-
13389
commentaires
Bonne nouvelle en effet, et très bon article.
J'étais tombé hier sur un article du site Korben traitant du sujet, et j'avais transmis l'info à Vincent qui devait probablement être au courant.
J'avais donc rédigé un petit article renvoyant sur le site mais PciNpact a rédigé son article de manière très complète, ce que j'aurais dû faire pour avoir une chance d'être publié.
Je vais tenter la modif de brokensoul, dans mon portable j'ai une Mandriva avec un kernel MIB 3.0.8 et une Salix avec 2.6.37.
J'étais tombé hier sur un article du site Korben traitant du sujet, et j'avais transmis l'info à Vincent qui devait probablement être au courant.
J'avais donc rédigé un petit article renvoyant sur le site mais PciNpact a rédigé son article de manière très complète, ce que j'aurais dû faire pour avoir une chance d'être publié.
Je vais tenter la modif de brokensoul, dans mon portable j'ai une Mandriva avec un kernel MIB 3.0.8 et une Salix avec 2.6.37.
paradise
Le mercredi 16 novembre 2011 à 12:49:21
#39
Inscrit
le dimanche 10 avril 05
-
13389
commentaires
@ brokensoul
Bonjour, aurais-tu une solution pour le cas de Lilo, pas urgent mais pour une Màj future de ma Salix ?
Bonjour, aurais-tu une solution pour le cas de Lilo, pas urgent mais pour une Màj future de ma Salix ?
koocotte
Le mercredi 16 novembre 2011 à 12:58:20
#40
Inscrit
le vendredi 28 mai 04
-
81
commentaires
un peu hors sujet, mais le bios ne devait-il pas céder place à l'EFI ?
L'EFI étant bien plus gros, il a toutes les chances d'être encore plus buggé.
Vu le temps que les fabriquants de CM investissent dans le suivi des firmware (BIOS ou EFI); on est pas près d'avoir un système propre.
Il n'est plus possible de commenter cette actualité
Vous devez être connecté ou vous inscrire en haut pour pouvoir participer aux commentaires.














