AMD EPYC 7002 是一款服务器处理器,于 2019 年推出,采用 Zen 2 架构,代号为 Rome,最近 AMD 发布了勘误表。文档说明, “1474 个核心可能会在大约 1044 天后挂起。” 要纠正此问题,必须重新启动服务器。值得注意的是,AMD 表示不会解决这个问题。
大致相当于 34 个月或略低于三年,确切的持续时间是 1042 天 12 小时。问题的可能性来自 CPU REFCLK 在 54 位带符号整数内计算 10ns 滴答。在计算超过 9 万亿个这些滴答时,溢出发生在 1042 天和 12 小时标记处。一旦发生溢出,内核就会卡住,拒绝任何外部中断请求,直到电源关闭并重新启动,从而重置计数器。

这一问题的发现表明,不止一个系统已经运行了将近三年而没有重启。发现这个漏洞一定是一个耗时的过程。根据AMD的指引,根本原因是内核无法退出CC6省电模式。进入此模式后,CPU 电压和时钟频率会降低。各种系统出现bug的时间差异可能取决于扩频调制和REFCLK频率的情况。
AMD不打算发布任何针对 CC6 错误的修复程序。相反,他们建议管理员禁用 CC6 以防止内核冻结,或者只是在时间限制到来之前安排定期的系统重启。
相关文章
网友评论(共有 0 条评论)