相干裝置屬性表 (CDAT)¶
CDAT 提供裝置的功能和效能屬性,例如 CXL 加速器、交換機或端點。 表格格式類似於 ACPI 表。 CDAT 資料可以在啟動時由 BIOS 解析,也可以在執行時列舉(例如,在裝置熱插拔之後)。
術語:DPA - 裝置物理地址,CXL 裝置使用該地址來表示它支援的裝置地址。
DSMADHandle - 一個與 DSMAS 表定義的 DPA 範圍關聯的裝置唯一控制代碼。
裝置範圍內存親和性結構 (DSMAS)¶
DSMAS 包含諸如 DSMADHandle、DPA 基址和 DPA 長度等資訊。
Linux 使用此表與裝置範圍延遲和頻寬資訊結構 (DSLBIS) 結合使用,以確定 CXL 裝置本身的效能屬性。
例子
Structure Type : 00 [DSMAS]
Reserved : 00
Length : 0018 <- 24d, size of structure
DSMADHandle : 01
Flags : 00
Reserved : 0000
DPA Base : 0000000040000000 <- 1GiB base
DPA Length : 0000000080000000 <- 2GiB size
裝置範圍延遲和頻寬資訊結構 (DSLBIS)¶
Linux 使用此表與 DSMAS 結合使用,以確定 CXL 裝置的效能屬性。 DSLBIS 包含基於 DSMADHandle 匹配的延遲和頻寬資訊。
例子
Structure Type : 01 [DSLBIS]
Reserved : 00
Length : 18 <- 24d, size of structure
Handle : 0001 <- DSMAS handle
Flags : 00 <- Matches flag field for HMAT SLLBIS
Data Type : 00 <- Latency
Entry Basee Unit : 0000000000001000 <- Entry Base Unit field in HMAT SSLBIS
Entry : 010000000000 <- First byte used here, CXL LTC
Reserved : 0000
Structure Type : 01 [DSLBIS]
Reserved : 00
Length : 18 <- 24d, size of structure
Handle : 0001 <- DSMAS handle
Flags : 00 <- Matches flag field for HMAT SLLBIS
Data Type : 03 <- Bandwidth
Entry Basee Unit : 0000000000001000 <- Entry Base Unit field in HMAT SSLBIS
Entry : 020000000000 <- First byte used here, CXL BW
Reserved : 0000
交換機範圍延遲和頻寬資訊結構 (SSLBIS)¶
SSLBIS 包含有關交換機的延遲和頻寬的資訊。
Linux 使用該表來計算從裝置到根埠的 CXL 路徑的效能座標,其中交換機是該路徑的一部分。
例子
Structure Type : 05 [SSLBIS]
Reserved : 00
Length : 20 <- 32d, length of record, including SSLB entries
Data Type : 00 <- Latency
Reserved : 000000
Entry Base Unit : 00000000000000001000 <- Matches Entry Base Unit in HMAT SSLBIS
<- SSLB Entry 0
Port X ID : 0100 <- First port, 0100h represents an upstream port
Port Y ID : 0000 <- Second port, downstream port 0
Latency : 0100 <- Port latency
Reserved : 0000
<- SSLB Entry 1
Port X ID : 0100
Port Y ID : 0001
Latency : 0100
Reserved : 0000
Structure Type : 05 [SSLBIS]
Reserved : 00
Length : 18 <- 24d, length of record, including SSLB entry
Data Type : 03 <- Bandwidth
Reserved : 000000
Entry Base Unit : 00000000000000001000 <- Matches Entry Base Unit in HMAT SSLBIS
<- SSLB Entry 0
Port X ID : 0100 <- First port, 0100h represents an upstream port
Port Y ID : FFFF <- Second port, FFFFh indicates any port
Bandwidth : 1200 <- Port bandwidth
Reserved : 0000
CXL 驅動程式使用 CDAT、HMAT、SRAT 和其他資料的組合來生成 CXL 裝置的“完整路徑效能”資料。