英特尔工程师丹·威廉姆斯继续引领潮流Compute Express Link(CXL)启用Linux内核。
对于Linux6.8,有更多的CXL工作一致设备属性表(CDAT)解析在更多的Linux服务器首次使用CXL连接之前,CXL的服务质量(QoS)基础设施工作以及其他核心支持工作仍在进行中。
Williams在Linux 6.8的CXL更新的拉取请求中解释道:
此更新的主要内容是支持枚举CXL内存目标的性能功能,并将其连接到平台CXL内存服务质量类别。一些后续工作仍然是将这些数据连接到core-mm策略中,但这将保留到v6.9。下一个重要的更新是统一如何在所谓的“固件优先”和本机错误记录检索之间处理CXL事件记录(如后台擦除错误)。处理从设备邮箱检索的记录的CXL驱动程序处理程序现在是来自EFI/ACPI通知源的相同记录格式的处理程序。它还包含各种功能更新,如Get Timestamp和其他修正。
他还补充说合并请求围绕着Linux对错误行为的更多控制:
“对于那些可能对平台固件历史感兴趣的人来说,即传递给操作系统以枚举内存资源和功能的数据结构的演变,我认为这次更新标志着一个转折点。
ACPI长期以来一直列举关于该平台的细节,但没有标准的列举。它生成诸如SRAT、SILT和HMAT之类的表来描述NUMA拓扑(ACPI邻近域)以及一个邻近域中的启动器(如CPU)与另一个邻近域中的目标(如内存)进行对话的相对性能。
关于在哪里绘制接近域边界和“NUMA距离”值的准确性的算法长期以来一直属于“只信任ACPI表”这一类别。然而,通过这个更新,Linux被赋予了能力,至少对于CXL来说,可以自己列举这些细节。这一点很重要,因为ACPI是引导时静态枚举,具有有限的更新功能。在支持热插拔、动态重新配置、池化和具有自己的内存子系统的加速器的CXL世界中,这种限制是一种负担。
因此,现在当core-mm开发人员注意到内存NUMA信息损坏时,他们可以向CXL子系统发送补丁,而不是向平台供应商发送错误报告。
Exciting times ahead in the CXL space.