计算快速链接子系统成熟度图¶
Linux CXL 子系统跟踪动态的CXL 规范,该规范不断响应新的用例,提供新的功能、能力更新和修复。在任何给定的时间点,子系统的某些方面比其他方面更成熟。虽然定期的拉取请求总结了每个合并窗口中合并的工作,但这些并不总是传达相对于起点的进度和未来的最终目标。
以下是子系统主要职责的粗略分解以及成熟度评分。预期本文档的变更历史记录将提供子系统随时间推移的成熟度的概述摘要。
成熟度评分是
[3] 成熟:此区域的工作已完成,并且没有即将发生的更改。请注意,此评分可能会根据新的测试结果或最终用户报告而从一个内核版本退化到下一个内核版本。
[2] 稳定:主要功能正常运行,常见情况已成熟,但已知边缘情况仍在进行中。
[1] 初始:已退出概念验证阶段的功能,但可能仍有重大差距需要弥合,并且在进行实际测试时需要应用修复程序。
[0] 已知差距:该功能处于中期至长期实施的范围内。如果规范中有一个功能在此文档中甚至没有“0”分,则linux-cxl@vger.kernel.org社区中很可能没有人开始研究它。
X:超出内核启用范围,或不需要内核启用
功能和能力¶
枚举/配置¶
子系统的所有基本枚举和对象模型都已到位,但有几个边缘情况正在等待解决。
RAS¶
在许多方面,CXL 可以被视为通常由自定义 EDAC 驱动程序处理的标准化。这里的开放开发主要是由上面的枚举边缘情况引起的。
[3] 组件事件 (OS)
[2] 组件事件 (FFM)
[1] 端点协议错误 (OS)
[1] 端点协议错误 (FFM)
[0] 交换机协议错误 (OS)
[1] 交换机协议错误 (FFM)
[2] DPA->HPA 地址转换
[1] XOR 交织转换(请参阅 CXL 窗口枚举)
[1] 内存故障协调
[0] 清理控制
[2] ACPI 错误注入 EINJ
[0] EINJ v2
[X] 合规性 DOE
[2] 本机错误注入
[3] RCH 错误处理
[1] VH 错误处理
[0] PPR
[0] 备用
[0] 设备内置测试
邮箱命令¶
[3] 固件更新
[3] 健康状况/警报
[1] 后台命令
[3] 清理
[3] 安全命令
[3] RAW 命令调试直通
[0] CEL 仅限验证直通
[0] 交换机 CCI
[3] 时间戳
[1] PMEM 标签
[0] PMEM GPF/脏关闭
[0] 扫描介质
PMU¶
[1] 3 型 PMU
[0] 交换机 USP/DSP,根端口
安全性¶
[X] CXL 可信执行环境安全协议 (TSP)
[X] CXL IDE(被 TSP 取代)
内存池¶
[1] LD 的热插拔(通过 PCI 热插拔)
[0] 动态容量设备 (DCD) 支持
多主机共享¶
[0] 硬件一致共享内存
[0] 软件管理的连贯共享内存
多主机内存¶
[0] 动态容量设备支持
[0] 共享
加速器¶
[0] 加速器内存枚举 HDM-D (CXL 1.1/2.0 Type-2)
[0] 加速器内存枚举 HDM-DB (CXL 3.0 Type-2)
[0] CXL.cache 68b (CXL 2.0)
[0] CXL.cache 256b 缓存 ID (CXL 3.0)
用户流程支持¶
[0] HPA->DPA 地址转换(需要 xormaps 导出解决方案)
详细信息¶
扩展线性内存侧缓存:一种 HMAT 提案,用于枚举内存侧缓存的存在,其中缓存容量扩展了 SRAT 地址范围容量。有关详细信息,请参阅 ECN
RCH 链路状态:RCH(受限 CXL 主机)拓扑最终会隐藏一些标准寄存器,例如 CXL RCRB(根复合体寄存器块)中的 PCIe 链路状态/功能。
后台命令:CXL 后台命令机制很笨拙,因为单个插槽可能被各种命令无限期地占用。需要冲突时取消工具,以确保内核可以确保优先级命令的向前推进。