已向 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 用户。