Bei AMD-basierten Systemen, die auf den Architekturen ZEN 1 und ZEN 2 basieren, gibt es seit etwa 18 Monaten ein interessantes Phänomen: In einigen Fällen konnte der Bootvorgang deutlich länger dauern als üblich, und es wurde lange Zeit keine Lösung gefunden. Bei den betroffenen Servern hat der Fehler dazu geführt, dass der Bootvorgang einige Sekunden länger dauert als er sollte, aber auch, dass sich die Zeit bis zum Abschluss des Vorgangs um einige Minuten verlängert hat, was auf jeden Fall Anlass zur Fehlersuche ist.
Das Problem wurde kürzlich von einem Nokia-Ingenieur gelöst, der untersuchte, was die Ursache für die ungewöhnlich lange Boot-Zeit sein könnte. Er untersuchte mehr als zehn ältere Server mit AMD EPYC-Serverprozessoren, die auf der ZEN 1- oder ZEN 2-Architektur basieren, und stellte fest, dass der Fehler nicht bei allen Boot-Prozessen auftritt, aber wenn er auftritt, kann die Latenzzeit des Boot-Prozesses von einigen Dutzend Sekunden bis zu einigen Minuten reichen.
Weitere Tests ergaben, dass das Phänomen, das die Verzögerung verursacht, seit einem früheren Linux-Kernel-Update auftritt, das bereits im Juni 2023 zur Verfügung gestellt wurde. Die Tests ergaben, dass der intramfs-Entpackungsprozess auf den betroffenen Systemen viel länger dauert als nötig. Das fragliche Update führte auch eine Änderung in der Art und Weise ein, wie das System mit Mikrocode-Updates für Prozessoren umgeht, und scheint einen Fehler in den Code eingebracht zu haben, der die Boot-Zeiten manchmal erheblich verlängern kann.
Schließlich haben wir den Bereich auf AMD EPYC-Serverprozessoren auf Basis von ZEN 1 und ZEN 2 eingegrenzt und konnten die genaue Ursache für die Verzögerung ermitteln. Es scheint, dass das Patch Buffer Mapping für den Translation Lookaside Buffer (TLB) nicht gelöscht wurde, nachdem das System das Microcode-Update für diesen Prozessor angewendet hatte. Die Behebung war relativ einfach: Der Patch führt diesen Vorgang jetzt aus, was dem Fehler offenbar den Stachel nimmt: Langsames Booten ist kein Problem mehr. Theoretisch betrifft das Problem nicht nur AMD EPYC, sondern auch AMD RZYEN-Prozessoren sowie ZEN 1- und ZEN 2-basierte Modelle, so dass das Update für den Durchschnittsnutzer nützlich sein sollte.
Der Patch wurde für die Linux-Kernel-Version 6.13-rc1 erstellt und mit einer Dringlichkeitsstufe versehen. Die Version 6.13-rc1 wird den Patch bereits enthalten und wird auch in der stabilen Hauptversion 6.13 enthalten sein, die später veröffentlicht wird. Es ist geplant, den Patch gleichzeitig auch in ältere Kernel-Versionen zu integrieren, um AMD-Prozessoren, die auf älteren ZEN-Architekturen basieren, von den Unannehmlichkeiten des manchmal unangemessen langen Boot-Prozesses zu befreien.