对于即将到来的Linux 6.9 在内核周期中,AMD Instinct MI300增加了EDAC(错误检测和纠正)和RAS(可靠性,可用性和可服务性)驱动程序。
这项工作包括调整AMD EDAC驱动程序以使用 AMD地址转换库,MI300对ATL库支持,其他MI300 RAS附加组件,然后MI300硬件的一个新功能是行停用支持。
AMD64_EDAC驱动程序中对MI300行停用支持在处理MI300上有缺陷/出错的高带宽存储器(HBM)时进行了总结:
“AMD MI300系统具有片上高带宽内存。这种内存具有相对较高的错误率,并且它不能像DIPENDIX那样单独更换。
使用AMD延迟错误中断将不可纠正的ECC错误单独报告为延迟错误。每个报告的错误对应于一个硬件错误。
可纠正的ECC错误通过MCA阈值批量报告。用户可以根据自己的策略配置阈值限制。每个报告的可纠正错误表示达到阈值限制的单次事件。
AMD设计者目前的指导意见是,受DRAM行中ECC错误影响的内存应该退役。应对报告的每个ECC错误采取措施。
添加助手函数以将此策略应用于MI300系统。
此功能和类似功能也可以在单独的通用模块中处理得最好。同时,为简单起见,请在AMD64 EDAC中执行此操作。“
该行退役支持补丁中的代码注释重申了在发生错误时退役该DRAM行中的所有内存的意图:
当MI300系统上出现DRAM ECC错误时,建议停用该DRAM行中的所有内存。这适用于具有DRAM存储体的内存。
最新的AMD MI300 work is to be found in Linux 6.9 now that those patches are part of RAS.git's "edac-for-next" Git branch.