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
Pour éviter de casser des cous, Apple travaille déjà sur un casque VR plus léger
Tesla ouvre son API pour les applications tierces dans ses voitures
Microsoft crée une technologie révolutionnaire capable de stocker des données dans du verre pendant 10 000 ans
Pour éviter de casser des cous, Apple travaille déjà sur un casque VR plus léger
Tesla ouvre son API pour les applications tierces dans ses voitures
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
Plus de contenu
Quand je viens de recevoir mon nouveau poste de travail
Quand ma correction rapide mais dégueu fonctionne
Quand je viens de passer une heure à automatiser une tâche que je fais en 2 minutes une fois par mois
Quand le dev senior sauve notre mise en prod
Compilation failed
Quand le client m'appelle pour me dire qu'il préfère repousser la livraison d'un mois
Quand je me rends compte que je viens de livrer une ancienne version au lieu de la nouvelle
Quand je m'apprête à partir manger et que le chef me tombe dessus
Quand je viens de recevoir mon nouveau poste de travail
Quand ma correction rapide mais dégueu fonctionne
Quand je viens de passer une heure à automatiser une tâche que je fais en 2 minutes une fois par mois
Quand le dev senior sauve notre mise en prod
Compilation failed