近期,Linux內核社區發布了一項重要更新,針對老舊AMD處理器,特別是Zen 1和Zen 2架構的設備,解決了一個長期存在的啟動延遲問題。這一修復程序被包含在Linux內核6.13-rc1版本中。
據悉,這一啟動延遲問題已困擾用戶長達18個月之久。在某些情況下,設備的啟動時間甚至會被延長數秒至數分鐘,嚴重影響了用戶體驗。問題的發現歸功于諾基亞的一位工程師,他在使用多臺AMD EPYC服務器時,注意到啟動延遲不一致,有時初始解包過程比預期多花了幾分鐘。
經過深入調查,技術人員發現問題的根源在于2023年6月對Linux內核進行的一次修改,特別是與CPU微代碼更新處理相關的部分。對于Zen 1和Zen 2處理器來說,在啟動過程中應用CPU微代碼更新后,未能正確地從轉換旁路緩沖區(TLB)刷新補丁緩沖區映射,這導致了啟動延遲的發生。
為了解決這一問題,Linux內核社區開發了一項修復程序。該程序為受影響的AMD Ryzen和EPYC系統添加了必要的TLB刷新機制,從而消除了啟動過程中的“不必要和不自然的延遲”。這意味著,用戶在更新到包含此修復程序的Linux內核版本后,將能夠享受到更快速的啟動體驗。
據透露,這一解決方案將包含在即將發布的Linux 6.13內核版本中。為了覆蓋更多使用舊版Zen架構的Linux用戶,社區還計劃將修復功能反向移植到穩定的內核版本中。這意味著,即使用戶沒有立即更新到最新的內核版本,也有可能在未來通過更新穩定的內核版本來解決啟動延遲問題。
這一修復程序的發布,無疑為使用AMD Zen 1和Zen 2處理器的Linux用戶帶來了福音。他們不再需要忍受漫長的啟動時間,而是可以享受到更加流暢和高效的操作系統體驗。隨著Linux內核的不斷更新和完善,我們有理由相信,未來的Linux系統將會變得更加穩定和高效。