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
Fondateur des Joies du Code, je suis l'actualité et la culture des développeurs depuis 2012. Ancien développeur, je me consacre aujourd'hui entièrement au média.
Offres d'emploi
À lire également
Mistral dégaine Large 4, alias Le Chonk, son modèle à 1 000 milliards de paramètres entraîné en Europe
Le Chat a pris du poids — Après des mois de silence assourdissant sur ses grands modèles, Mistral AI a dévoilé le 6 octobre la preview de Mistral Large 4....
Articles recommandés
Black Friday Week : le Mac Mini M2 d'Apple profite d'une remise
Black Friday 2023 : des offres pour l'écosystème Symfony
Les disques durs Seagate en réduction pour le Black Friday d'Amazon
Profitez de 50% de remise sur le client Git Tower cette semaine
Plus de contenu
Quand le client met toute la boîte en copie pour signaler une typo dans son appli
Quand le client veut une notification push pour chaque action dans son appli
Quand je réalise que je viens d'écraser le contenu d'un fichier et que j'ai aucun backup
Quand le client essaie de parler technique
Quand après 20 tentatives de correction mon code ne compile toujours pas
Quand je reçois une alerte de prod à 3h du mat
Quand le commercial revient de vacances avec 3 nouveaux clients signés
Quand je corrige un bug CSS d'un décalage de 2 pixels au bout d'une heure
Quand le client met toute la boîte en copie pour signaler une typo dans son appli
Quand le client veut une notification push pour chaque action dans son appli
Quand je réalise que je viens d'écraser le contenu d'un fichier et que j'ai aucun backup
Quand le client essaie de parler technique

