Oups : le retrait d'une solution de contournement vieille de 20 ans rend Linux plus rapide pour les systèmes AMD
/* TEMPORARY FIX */ — Une ancienne solution de contournement pour gérer les problématiques d'alimentation réduit les performances de Linux pour les systèmes AMD depuis 2002.
Un ingénieur chez AMD a récemment découvert qu'un fix vieux de 20 ans pour gérer les composants de l'époque était toujours en application à ce jour pour les systèmes AMD modernes sous Linux et les ralentissait.
Ce dernier a soumis un patch correctif la semaine dernière pour les drivers de processeurs inactifs, afin d'ignorer une attente inutile pour les processeurs AMD basés sur la microarchitecture Zen.
C'est au moment de l'implémentation de la norme ACPI en 2002 (mécanisme de gestion d'énergie et de ressources pour réduire la consommation des ordinateurs personnels) que cette opération d'attente "bidon" (lecture de données dans le vide) a été intégrée dans le code du kernel, dans le but de reporter volontairement une instruction jusqu'à l'arrêt complet du processeur (avec la commande STPCLK#).
La solution de contournement, toujours en place à ce jour, n'est bien sûr plus du tout nécessaire pour les nouveaux processeurs Zen du fabricant, et se révèle même problématique pour ces derniers.
Au vu de la tâche relativement simple demandée par l'opération qui découle de ce fix, les processeurs peuvent en effet se placer en état C (fonctions réduites), ce qui leur demande par la suite plus de temps pour se "réveiller".
Il est à noter que les systèmes Intel sous Linux ne sont pas concernés par ces lenteurs.
Le patch a quant à lui déjà été accepté par les mainteneurs du kernel, et devrait parvenir à être inclus de justesse dans la version 6.0 du noyau, dont la sortie a été promise par Linus Torvalds pour la fin de semaine (dimanche).
À lire aussi sur Les Joies du Code :
- ⚙️ Linus Torvalds le confirme : le langage Rust va être intégré dans le noyau Linux
- 🤩 Vite, il ne vous reste plus que quelques jours pour commander l'improbable clavier Stack Overflow (v2) !
- 🛠 30 seconds of code : une liste de bouts de code utiles à garder sous la main
À propos de l'auteur
Nicolas Lecointre
Chief Happiness Officer des développeurs, ceinture noire de sudo. Pour rire, j'ai créé Les Joies du Code. J'utilise Vim depuis 10 ans parce que je sais pas comment le quitter.
À lire également
Passbolt : le gestionnaire de mots de passe open source que votre équipe mérite vraiment
Je connais l’histoire, vous la connaissez, on la connaît tous. Le stagiaire qui est resté six mois, qui a fini par avoir accès à un peu (beaucoup) plus de choses...
Articles similaires
GPT-4 est déjà là : selon OpenAI, son nouveau modèle d'IA est plus créatif et sortira moins de fake news
Atlassian, l'éditeur derrière Jira, Bitbucket et Trello, a été hacké et voit ses données exposées en ligne
Ubuntu 23.10 Mantic Minotaur est disponible
Nous sommes le 14 mars : bonne journée de Pi !
GPT-4 est déjà là : selon OpenAI, son nouveau modèle d'IA est plus créatif et sortira moins de fake news
Atlassian, l'éditeur derrière Jira, Bitbucket et Trello, a été hacké et voit ses données exposées en ligne
Plus de contenu
Quand le pipeline CI échoue et que je n’y suis pour rien
Quand le chef fait une démo au client
Quand je rejoins le daily depuis mon smartphone et que j'active ma caméra
Quand je vois apparaître une flopée de messages d'erreur dans la console
Quand le chef vient me voir pour une urgence le vendredi soir
"Tu jetteras un oeil à mon mail quand t'auras 2 minutes"
Quand j'observe le nouveau qui pensait coder sa feature en seulement deux heures avant-hier
Quand j'essaie de modifier une feuille de style CSS
Quand le pipeline CI échoue et que je n’y suis pour rien
Quand le chef fait une démo au client
Quand je rejoins le daily depuis mon smartphone et que j'active ma caméra
Quand je vois apparaître une flopée de messages d'erreur dans la console
Quand le chef vient me voir pour une urgence le vendredi soir

