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
Ma phobie administrative a enfin trouvé son fix, et il s’appelle Abby
Je DÉTESTE, je HAIS l'administratif. Voilà, c'est dit, et ça me semble être une belle entrée en matière pour cet article. C’est assez simple, à mon niveau, tout ce qui...
Articles recommandés
Microsoft crée une technologie révolutionnaire capable de stocker des données dans du verre pendant 10 000 ans
Microsoft et Amazon unissent leurs forces pour démanteler un vaste réseau d'arnaqueurs indien
Martin Goetz, détenteur du premier brevet logiciel, est décédé à l'âge de 93 ans
Chaque mois, GitHub perd un pognon monstre à cause de Copilot
Microsoft crée une technologie révolutionnaire capable de stocker des données dans du verre pendant 10 000 ans
Microsoft et Amazon unissent leurs forces pour démanteler un vaste réseau d'arnaqueurs indien
Martin Goetz, détenteur du premier brevet logiciel, est décédé à l'âge de 93 ans
Plus de contenu
Quand le commercial me dit que les specs sont "intuitives"
Le projet après qu'on ait pris en compte toutes les demandes du client
Quand on me demande mon avis sur une réorganisation pour le projet
Quand un bug survient en fin de journée
Quand mon code compile enfin
git merge
Quand le client se plaint d'une fonctionnalité qu'il a demandée
Quand mon code compile du premier coup
Quand le commercial me dit que les specs sont "intuitives"
Le projet après qu'on ait pris en compte toutes les demandes du client
Quand on me demande mon avis sur une réorganisation pour le projet
Quand un bug survient en fin de journée
Quand mon code compile enfin



