近期,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系统将会变得更加稳定和高效。