Do jądra Linuksa 6.13-rc1 wprowadzono znaczącą poprawkę, która rozwiązuje problem wydłużonego czasu uruchamiania, wpływającego na starsze procesory AMD, szczególnie ukierunkowanego na architektury „Zen 1” i „Zen 2”. Problem, który występuje od około 18 miesięcy, w skrajnych przypadkach może powodować opóźnienia w uruchamianiu systemu, od kilku sekund do kilku minut. Problem został odkryty przez inżyniera firmy Nokia, który zgłosił niespójne opóźnienia podczas uruchamiania na wielu serwerach AMD EPYC. W najpoważniejszych przypadkach początkowy proces rozpakowywania trwał kilka minut dłużej niż oczekiwano, chociaż nie dotyczyło to wszystkich butów. Dochodzenie wykazało, iż podstawową przyczyną była modyfikacja jądra wdrożona w czerwcu 2023 r., związana w szczególności z obsługą aktualizacji mikrokodu procesora.
Problem techniczny został zidentyfikowany jako brakujący krok w procesie rozruchu: procesory Zen 1 i Zen 2 wymagają wyczyszczenia mapowania bufora poprawek z bufora Translation Lookaside Buffer (TLB) po zastosowaniu aktualizacji mikrokodu procesora podczas uruchamiania. Poprawka, przesłana jako część materiału „x86/pilne” przed wydaniem Linuksa 6.13-rc1, implementuje niezbędne opróżnianie TLB dla systemów AMD Ryzen i EPYC, których dotyczy problem. Ten dodatek eliminuje to, co programiści opisali jako „niepotrzebne i nienaturalne opóźnienia” w procesie uruchamiania. Chociaż rozwiązanie zostanie uwzględnione w nadchodzącej wersji jądra Linuksa 6.13, istnieją plany przeniesienia poprawki do stabilnych wersji jądra, aby obsłużyć większość użytkowników Linuksa korzystających ze starszych architektur Zen.
Source link