SRAT - 靜態資源親和性表¶
系統/靜態資源親和性表描述了資源(CPU、記憶體)與“鄰近域”的親和性。 此表在技術上是可選的,但要使 Linux 列舉效能資訊(請參閱“HMAT”),它必須存在。
CEDT 和 SRAT 表以及 NUMA 節點的建立之間存在著謹慎的平衡。 如果事情看起來不太符合您的預期 - 請檢查 SRAT 記憶體親和性條目和 CEDT CFMWS,以確定您的平臺在靈活拓撲方面實際支援什麼。
SRAT 可能會將 CFMWS SPA 範圍的一部分靜態分配給特定的鄰近域。 有關這如何在 NUMA 拓撲中呈現的更多資訊,請參閱 Linux NUMA 建立。
鄰近域¶
鄰近域大致等同於“NUMA 節點” - 儘管不能保證 1 對 1 對映。 在某些情況下,“鄰近域 4”可能會對映到“NUMA 節點 3”,例如。(請參閱“NUMA 節點建立”)
記憶體親和性¶
一般來說,如果主機在 BIOS 中進行任何數量的 CXL fabric(解碼器)程式設計 - 則需要存在該記憶體的 SRAT 條目。
例子
Subtable Type : 01 [Memory Affinity]
Length : 28
Proximity Domain : 00000001 <- NUMA Node 1
Reserved1 : 0000
Base Address : 000000C050000000 <- Physical Memory Region
Address Length : 0000003CA0000000
Reserved2 : 00000000
Flags (decoded below) : 0000000B
Enabled : 1
Hot Pluggable : 1
Non-Volatile : 0
通用埠親和性¶
通用埠親和性子表提供了鄰近域和裝置控制代碼之間的關聯,裝置控制代碼代表通用埠,例如 CXL 主橋。 透過關聯,可以從 SRAT 中檢索 CPU(啟動器)和通用埠之間路徑的延遲和頻寬數。 這用於構造熱插拔 CXL 裝置的效能座標,這些裝置無法透過平臺韌體在啟動時列舉。
例子
Subtable Type : 06 [Generic Port Affinity]
Length : 20 <- 32d, length of table
Reserved : 00
Device Handle Type : 00 <- 0 - ACPI, 1 - PCI
Proximity Domain : 00000001
Device Handle : ACPI0016:01
Flags : 00000001 <- Bit 0 (Enabled)
Reserved : 00000000
鄰近域與相關延遲或頻寬數的 HMAT SSLBI 目標鄰近域列表匹配。 這些效能數字透過裝置控制代碼與 CXL 主橋相關聯。 驅動程式使用該關聯來檢索整個 CXL 路徑訪問座標計算的通用埠效能數字。