Compute Express Link 子系統成熟度圖¶
Linux CXL 子系統跟蹤動態的CXL 規範,該規範不斷響應具有新特性、能力更新和修復的新用例。 在任何給定的時間點,子系統的某些方面比其他方面更成熟。 雖然週期性的 pull request 總結了每個合併視窗中合併的工作,但這些並不總是傳達相對於起點的進展和未來的最終目標。
以下是對子系統主要職責的粗略分解以及成熟度評分。 期望本文件的更改歷史記錄提供子系統隨時間推移的成熟度的概述摘要。
成熟度評分是
[3] 成熟:該領域的工作已完成,並且沒有即將發生的更改。 請注意,此分數可能會根據新的測試結果或終端使用者報告從一個核心版本回歸到下一個核心版本。
[2] 穩定:主要功能可執行,常見情況已成熟,但已知的極端情況仍在進行中。
[1] 初始:已退出概念驗證階段的功能,但可能仍有重大差距需要彌合,並且需要在實際測試中應用修復。
[0] 已知差距:該功能處於中期至長期實施計劃中。 如果規範中有一個功能甚至沒有本文件中的“0”分,那麼 linux-cxl@vger.kernel.org 社群中很有可能沒有人開始研究它。
X:超出核心啟用範圍,或不需要核心啟用
特性和能力¶
列舉/配置¶
子系統的所有基本列舉和物件模型都已就位,但仍有幾個極端情況有待解決。
[2] CXL 視窗列舉
[2] 擴充套件線性記憶體側快取
[0] 低記憶體空洞
[X] 異構交叉
[2] 交換機列舉
[0] CXL 暫存器列舉鏈路依賴
[2] HDM 解碼器配置
[0] 解碼器目標和粒度約束
[2] 效能列舉
[3] 端點 CDAT
[3] 交換機 CDAT
[1] CDAT 到 Core-mm 整合
[1] x86
[0] Arm64
[0] 所有其他 arch.
[0] 共享鏈路
[2] 熱插拔(參見 CXL 視窗列舉)
[0] 處理軟保留衝突
[0] RCH 鏈路狀態
[0] Fabrics / G-FAM(第 7 章)
[0] 全域性訪問端點
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 標籤
[3] PMEM GPF / 髒關機
[0] 掃描介質
PMU¶
[1] Type 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 注入和清除毒藥
詳細資訊¶
擴充套件線性記憶體側快取:HMAT 提案,用於列舉記憶體側快取的存在,其中快取容量擴充套件了 SRAT 地址範圍容量。 有關更多詳細資訊,請參閱 ECN。
RCH 鏈路狀態:RCH(受限 CXL 主機)拓撲最終會隱藏一些標準暫存器,例如 CXL RCRB(根複合體暫存器塊)中的 PCIe 鏈路狀態/功能。
後臺命令:CXL 後臺命令機制很笨拙,因為單個槽可能會被各種命令無限期地壟斷。 需要 衝突時取消設施,以確保核心可以確保優先順序命令的向前進展。