相干设备属性表 (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 设备的“完整路径性能”数据。