Linux核心補丁修復了AMD”Zen 1″和”Zen 2″處理器上長達幾分鐘的啟動時間
已向Linux 核心6.13-rc1 提交了一個重要的修復程序,以解決影響較舊AMD 處理器(特別是針對”Zen 1 “和”Zen 2 “架構)啟動時間延長的問題。 這個問題已經存在了大約18 個月,在極端情況下可能會導致數秒到數分鐘不等的啟動延遲。
該問題是由諾基亞的一名工程師發現的,他報告指出多台AMD EPYC 伺服器的啟動延遲不一致。 最嚴重的情況是,初始解包過程比預期多花了幾分鐘,但並非所有啟動都受到影響。
調查顯示,根本原因源自於2023 年6 月實施的核心修改,特別是與CPU 微程式碼更新處理有關的修改: Zen 1 和Zen 2 處理器在啟動過程中應用CPU 微程式碼更新後,需要從轉換旁路緩衝區(TLB) 刷新補丁緩衝區映射。
在Linux 6.13-rc1 發布之前,作為”x86/緊急”材料的一部分提交的修復程序為受影響的AMD Ryzen 和EPYC 系統實現了必要的TLB 刷新。 這項新增功能消除了開發人員所說的啟動過程中”不必要和不自然的延遲”。
雖然該解決方案將包含在即將發布的Linux 6.13 核心版本中,但我們已計劃將該修復功能反向移植到穩定的核心版本中,以協助覆蓋大多數使用舊版Zen 架構的Linux 用戶。