SysadminNews

Linux 7.3 cesse de charger AMD ATL sans mémoire ECC

Sur cette page
  1. Le changement AMD est petit, universel et attendu de longue date
  2. Intel amène un dérivé durci de Panther Lake dans la branche principale
  3. Deux pilotes perdent leur mainteneur
  4. Sources et pour aller plus loin

La fenêtre de fusion de Linux 7.3 s'est refermée le dimanche 30 août 2026 avec la 7.3-rc1, et le sous-système de détection et correction d'erreurs a tout simplement été oublié. Le mainteneur Borislav Petkov a envoyé sa demande de fusion le lundi soir, en la qualifiant lui-même de quelque peu tardive, et Linus Torvalds l'a prise quand même. Le changement le plus utile pour qui exploite du matériel AMD sans mémoire ECC : la bibliothèque de traduction d'adresses d'AMD cesse de se charger sur votre machine et d'y remplir le journal du noyau d'échecs. À côté, Intel ajoute un dérivé de Panther Lake conçu pour les milieux extrêmes, et deux vieux pilotes EDAC perdent leur mainteneur.

The short answer

La demande de fusion du sous-système de détection et correction d'erreurs a été oubliée pendant les deux semaines de la fenêtre de fusion de Linux 7.3, envoyée le lundi soir suivant la 7.3-rc1 sous l'étiquette edac_updates_for_v7.3_rc2, et fusionnée par Linus Torvalds malgré tout. La bibliothèque de traduction d'adresses d'AMD ne se charge plus que sur les systèmes capables de s'en servir, c'est-à-dire ceux dotés de mémoire ECC, mettant fin au bruit qu'elle produisait dans le journal de toutes les autres machines Zen. Intel ajoute la prise en charge de Starfire au pilote iGEN6, Starfire étant un dérivé de Panther Lake pour milieux extrêmes, et les pilotes clients iGEN6 et iE31200 unifient leur logique de traduction d'adresses et détectent le nombre de contrôleurs mémoire au démarrage au lieu de s'appuyer sur des valeurs codées en dur. Les pilotes ThunderX et MPC85XX sont abandonnés faute d'accès au matériel.

ECC seuloù AMD ATL se charge désormais, au lieu de tout Zen
2pilotes EDAC abandonnés, ThunderX et MPC85XX
rc2l'étiquette sous laquelle la fusion oubliée est arrivée
Carte réponse : le pull request EDAC de Linux 7.3 a été oublié pendant la fenêtre de fusion et fusionné tardivement sous l'étiquette edac_updates_for_v7.3_rc2, empêchant AMD ATL de se charger sur les systèmes Zen sans ECC, ajoutant la prise en charge d'Intel Starfire et abandonnant les pilotes ThunderX et MPC85XX.
Une demande de fusion en retard, porteuse d'un changement qui fait taire un journal sur des millions de postes. PNG

Une fenêtre de fusion dure deux semaines et s'auto-applique presque toujours : les mainteneurs connaissent la date, ils envoient leur demande, Linus Torvalds les traite. Le sous-système de détection et correction d'erreurs a manqué celle-ci pour la raison la moins dramatique qui soit, à savoir que personne n'a envoyé la demande. Les changements étaient prêts. La fenêtre de la 7.3 s'est refermée le dimanche 30 août avec la sortie de la 7.3-rc1, la demande est partie le lundi soir sous l'étiquette edac_updates_for_v7.3_rc2, et Torvalds l'a fusionnée plutôt que de faire attendre le sous-système un cycle complet pour un oubli administratif. Le mainteneur Borislav Petkov ouvre sa demande en qualifiant la série de quelque peu tardive, et oubliée, émoticône de haussement d'épaules à l'appui.

Le changement AMD est petit, universel et attendu de longue date

La bibliothèque de traduction d'adresses d'AMD existe pour transformer une adresse d'erreur mémoire signalée en quelque chose d'exploitable par un exploitant : une barrette, un rang, une rangée. C'est une traduction utile sur un serveur à mémoire ECC, et dépourvue de sens sur du matériel qui ne signale jamais d'erreur mémoire parce qu'il n'a pas de mémoire à correction d'erreurs pour en produire.

Jusqu'à Linux 7.3, ATL se chargeait malgré tout sur tous les systèmes AMD Zen. Sur la grande majorité des machines Zen, qui sont des postes de bureau et des portables à mémoire ordinaire sans ECC, elle tentait de s'initialiser, échouait, et l'écrivait. Le résultat était un flot d'échecs de chargement dans le journal du noyau sur du matériel où le module n'avait rien à faire. Le commit s'intitule Only load ATL when needed, et la demande de fusion décrit le nouveau comportement comme un chargement réservé aux systèmes capables de s'en servir.

Ce n'est pas un gain de performance et personne ne le mesurera. C'est un gain de rapport signal sur bruit, et ceux-là valent davantage qu'il n'y paraît. Un journal noyau plein d'échecs prévisibles est un journal que l'on cesse de lire, et le coût de cet abandon se paie plus tard, le jour où quelque chose de réel s'y trouve enseveli.

Liste des changements EDAC tardifs de Linux 7.3 : AMD ATL restreint aux systèmes à mémoire ECC, prise en charge d'Intel Starfire ajoutée au pilote iGEN6, logique de traduction d'adresses unifiée entre iGEN6 et iE31200 avec détection des contrôleurs au démarrage, suppression de l'interface d'injection d'erreurs factices dans debugfs, pilote Altera choisissant sa disposition d'interruptions d'après la chaîne compatible du gestionnaire ECC, et abandon des pilotes ThunderX et MPC85XX.
Tout le contenu de la fusion tardive, dans l'ordre où un exploitant s'en soucie. PNG

Intel amène un dérivé durci de Panther Lake dans la branche principale

Côté Intel, le pilote EDAC iGEN6 gagne la prise en charge de Starfire, décrit dans la demande de fusion comme une nouvelle plateforme de processeurs dérivée des SoC Panther Lake. C'est la puce qu'Intel construit pour les extrêmes, du silicium destiné à continuer de fonctionner dans l'espace et dans d'autres environnements où une puce ordinaire ne dure pas.

La remontée d'erreurs mémoire n'y est pas un accessoire, elle est presque l'objet même. Les inversions de bits induites par les radiations sont le danger canonique du matériel en orbite, et l'ECC assorti d'un sous-système qui expose ce que l'ECC a rattrapé est la façon d'apprendre qu'un équipement se dégrade avant qu'il ne s'arrête. Voir ce support EDAC arriver dans la branche principale en même temps que le reste des travaux d'activation de Panther Lake plutôt que dans un arbre constructeur publié plus tard est le bon ordre des choses.

La même série, créditée à Qiuxu Zhuo, unifie la logique de traduction d'adresses entre les pilotes clients iGEN6 et iE31200 et les fait détecter le nombre de contrôleurs mémoire au démarrage, au lieu de s'appuyer sur des valeurs codées en dur propres à chaque plateforme. Cette seconde moitié est la plus intéressante : un nombre de contrôleurs codé en dur est un bogue qui attend la plateforme suivante, et chaque nouveau SoC signifiait jusqu'ici une table de plus. Plusieurs correctifs de décodage voyagent avec, dont une adresse d'erreur mal journalisée sur Raptor Lake-P et un hachage de sélection de canal.

Deux points plus modestes méritent d'être signalés. L'interface d'injection d'erreurs factices est retirée du code debugfs d'EDAC, parce qu'une erreur factice et une véritable erreur matérielle pouvaient entrer en concurrence dans le journal, propriété peu souhaitable dans le seul sous-système dont le travail entier consiste à vous dire la vérité sur la mémoire. Et le pilote Altera choisit désormais sa disposition d'interruptions d'après la chaîne compatible du gestionnaire ECC plutôt que d'après l'architecture pour laquelle le noyau a été compilé, ce qui est la façon dont les plateformes à arbre de périphériques sont censées fonctionner.

Deux pilotes perdent leur mainteneur

La fusion marque les pilotes EDAC MPC85XX et ThunderX comme abandonnés, l'absence d'accès au matériel étant donnée comme motif. ThunderX couvre les SoC serveurs ARM initialement de Cavium puis de Marvell. MPC85XX couvre les contrôleurs mémoire PowerPC MPC83xx et MPC85xx de Freescale puis de NXP.

Abandonné n'est pas supprimé, mais c'est habituellement l'étape qui précède, et cela s'inscrit dans une tendance qui traverse toute l'année 2026. Les vieux pilotes sans utilisateur actif ni matériel de test sont progressivement retirés, et le volume de correctifs et de rapports de bogues générés qui atterrit aujourd'hui chez les mainteneurs a durci l'argument, puisque chaque pilote obsolète représente une surface de plus à trier.

Si vous exploitez réellement un ThunderX ou une carte MPC85xx en production, le conseil pratique est peu glorieux et limité dans le temps : dites-le sur la liste de diffusion, et acceptez de tester. L'abandon survient parce que personne n'a protesté, et quand la suppression est proposée, la démonstration est déjà faite.

Sources et pour aller plus loin

Questions fréquentes

Qu'est-ce qu'EDAC et pourquoi cela me concerne-t-il ?

EDAC signifie détection et correction d'erreurs. C'est le sous-système du noyau qui remonte les erreurs mémoire signalées par le matériel, ce qui sur un serveur à mémoire ECC désigne les erreurs corrigibles que vous voulez voir bien avant qu'elles ne deviennent incorrigibles. Ce sous-système est la façon dont une barrette défaillante se signale, et dont vous apprenez dans quel emplacement elle se trouve au lieu de remplacer quatre barrettes en espérant. Sur un poste de bureau sans ECC, il n'a presque rien d'utile à faire, ce qui est exactement le raisonnement derrière le changement AMD de cette version.

Qu'est-ce que le changement sur AMD ATL et me concerne-t-il ?

La bibliothèque de traduction d'adresses d'AMD traduit une adresse d'erreur signalée en une barrette, un rang et une rangée physiques, ce qui n'a de sens que sur du matériel capable de signaler des erreurs mémoire. Jusqu'ici, elle se chargeait sur tous les systèmes AMD Zen, y compris l'immense majorité qui n'a aucune mémoire ECC, où elle échouait à s'initialiser et écrivait du bruit dans le journal du noyau pour la peine. Le commit s'intitule Only load ATL when needed, et depuis Linux 7.3 elle ne se charge que sur les systèmes AMD capables de s'en servir. Si vous avez déjà fait défiler des échecs de chargement d'ATL sur un poste Ryzen en cherchant autre chose, ils ont disparu.

Qu'est-ce qu'Intel Starfire ?

Starfire est une nouvelle plateforme de processeurs Intel, décrite dans la demande de fusion comme un dérivé des SoC Panther Lake, conçue pour les extrêmes, c'est-à-dire des environnements comme l'espace où le silicium ordinaire ne survit pas. Linux 7.3 en ajoute la prise en charge dans le pilote EDAC iGEN6, qui gère la remontée d'erreurs mémoire côté client. Les inversions de bits induites par les radiations sont la raison canonique pour laquelle une puce destinée à l'orbite exige une détection d'erreurs solide, si bien qu'un SoC durci arrivant avec son support EDAC dans la branche principale plutôt que dans un arbre constructeur est le bon ordre des choses.

Quels pilotes ont été abandonnés et cela signifie-t-il leur suppression ?

Deux, pour la même raison : l'absence d'accès au matériel. Le pilote EDAC ThunderX couvre les SoC serveurs ARM anciennement Cavium puis Marvell. Le pilote MPC85XX couvre les contrôleurs mémoire PowerPC MPC83xx et MPC85xx de Freescale puis NXP. Abandonné signifie non maintenu plutôt que supprimé, mais c'est en général l'étape qui précède la suppression. Si vous exploitez l'une de ces plateformes en production, c'est le moment de vous manifester sur la liste de diffusion, car le silence sera lu comme la confirmation qu'il ne reste plus personne.

Est-il normal qu'une demande de fusion arrive après la fenêtre ?

Cela arrive, et il s'agit ici d'une version banale du phénomène. Les changements EDAC étaient prêts, la demande de fusion n'a simplement pas été envoyée pendant les deux semaines prévues, et elle est partie le lundi soir suivant la 7.3-rc1 sous l'étiquette edac_updates_for_v7.3_rc2. Borislav Petkov l'ouvre en qualifiant la série de quelque peu tardive et oubliée, et Torvalds l'a fusionnée plutôt que de faire attendre un petit sous-système un cycle entier pour un oubli administratif. C'est une décision discrétionnaire au cas par cas, pas une règle permanente, et l'hypothèse prudente pour tout mainteneur reste qu'une fenêtre manquée signifie attendre la suivante.