RSS 的標準化 INF 關鍵詞
RSS 介面支持 標準化的 INF 關鍵詞,這些關鍵詞 會出現在登錄中,並指定於 INF 檔案中。
下列清單顯示 RSS 的列舉 標準化 INF 關鍵詞 :
*RSS
啟用或停用迷你埠配接器的 RSS 支援。
*RSSProfile
處理器選取和負載平衡配置檔。
注意:變更 *RSSProfile 設定需要重新啟動適配卡。
注意:如果 *RSSProfile 設定為 NdisRssProfileBalanced,則您無法設定進階關鍵詞,例如 *RssBaseProcNumber、*RssBaseProcGroup、*RssMaxProcNumber、*RssMaxProcGroup 或 *NumaNodeId。 您可以設定 *MaxRssProcessors 和 *NumRSSQueues。
NDIS 6.30 已新增對 *RSSProfile 的支援。
列舉標準化 INF 關鍵詞具有下列屬性:
SubkeyName
您必須在 INF 檔案中指定且出現在登錄中的關鍵字名稱。
ParamDesc
與 SubkeyName 相關聯的顯示文字。
值
與清單中每個選項相關聯的列舉整數值。 此值會儲存在 NDI\params\ SubkeyName\值中。
EnumDesc
與功能表中顯示的每個值相關聯的顯示文字。
預設
功能表的預設值。
下表描述 RSS 列舉關鍵詞的可能 INF 專案。
SubkeyName | ParamDesc | 值 | EnumDesc |
---|---|---|---|
*RSS | 接收端調整 | 0 | 已停用 |
1 (預設值) | 已啟用 | ||
*RSSProfile | RSS 負載平衡配置檔 | 1 | ClosestProcessor:預設行為與 Windows Server 2008 R2 的行為一致。 |
2 | 最接近的ProcessorStatic:沒有動態負載平衡 - 散發,但在運行時間不會進行負載平衡。 | ||
3 | NUMAScaling:在每個 NUMA 節點之間,以迴圈配置資源方式指派 RSS CPU,讓在 NUMA 伺服器上執行的應用程式能夠正常調整。 | ||
4 (預設值) | NUMAScalingStatic:RSS 處理器選擇與 NUMA 延展性相同,不需要動態負載平衡。 | ||
5 | 保守型調整:RSS 會盡可能使用最少的處理器來維持負載。 此選項有助於減少中斷次數。 | ||
6 (異質 CPU 系統上的預設值) | NdisRssProfileBalanced:RSS 處理器選取是以流量工作負載為基礎。 僅適用於 NetAdapterCx,從 WDK 預覽版本 25197 開始。 |
下列清單顯示 可編輯之 RSS 的標準化 INF 關鍵字 :
*RssBaseProcGroup
*RssBaseProcNumber 關鍵詞中指定之處理器編號的處理器群組數目。
*NumaNodeId
用於網路適配器記憶體配置的慣用NUMA節點。 此外,操作系統會先嘗試針對 RSS 使用慣用 NUMA 節點中的 CPU。
PCI 擴充卡的驅動程式不應該在其 INF 中以靜態方式指定 NUMA 節點識別碼,因為最接近的節點取決於卡片插入的 PCI 插槽。 只有在網路適配器已整合到系統中時,才指定 *NumaNodeId 、事先知道 NUMA 節點,而且無法藉由查詢 ACPI 在運行時間判斷節點。
注意:如果這個關鍵詞存在,且其值小於計算機中的 NUMA 節點數目,則 NDIS 會在 NDIS_RSS_PROCESSOR_INFO 結構中的 PreferredNumaNode 成員中使用此值。
注意:在 Windows 8 中,如果 NIC RSS 配置檔設定為 NUMAScaling(2) 或 NUMAScalingStatic(3),則會忽略 *NumaNodeId 值。
*RssBaseProcNumber
指定群組中基底 RSS 處理器的數目。
*MaxRssProcessors
RSS 處理器的最大數目。
*RssMaxProcNumber
RSS 介面的最大處理器數目。
如果 指定了 *RssMaxProcNumber , 則也應該指定 *RssMaxProcGroup 。
*NumRSSQueues
RSS 佇列的數目。
*RssMaxProcGroup RSS 介面的最大處理器群組。
*RssBaseProcGroup 與 *RssBaseProcNumber 組成PROCESSOR_NUMBER結構,識別可搭配 RSS 使用的最小處理器編號。 *RssMaxProcGroup 與 *RssMaxProcNumber 組成PROCESSOR_NUMBER結構,可識別可搭配 RSS 使用的處理器數目上限。
例如,假設 *RssBaseProcGroup 設定為 1、 *RssBaseProcNumber 設定為 16、 *RssMaxProcGroup 設定為 3,而 *RssMaxProcNumber 設定為 8。
使用 <group>:<processor>
表示法時,基底處理器為 1:16,最大處理器為 3:8。
然後處理器 0:0、0:32、1:0 和 1:15 將不會被視為 RSS 的候選項目,因為它們低於基底處理器編號。
處理器 1:16、1:31、2:0、2:63、3:0 和 3:8 都會被視為 RSS 的候選項目,因為它們落在 1:16 到 3:8 的範圍內。
處理器 3:9、3:31 和 4:0 不會被視為 RSS 的候選專案,因為它們超出處理器數目上限。
NDIS 6.20 新增了對 *RssBaseProcGroup、*NumaNodeId、*RssBaseProcNumber 和 *MaxRssProcessors 關鍵詞的支援。
NDIS 6.30 新增了 對 *RssMaxProcNumber 和 *NumRSSQueues 關鍵詞的支援。
可編輯的標準化 INF 關鍵詞 具有下列屬性:
SubkeyName
您必須在 INF 檔案中指定且出現在登錄中的關鍵字名稱。
ParamDesc
與 SubkeyName 相關聯的顯示文字。
類型
可以編輯的值類型。 此值可以是數值 (Int) 或可編輯的文字 (Edit)。
預設值
整數或文字的預設值。 <定義的> IHV 表示值與特定獨立硬體廠商 (IHV) 需求相關聯。
Min
整數允許的最小值。 <定義的> IHV 表示最小值與特定的 IHV 需求相關聯。
最大值
整數允許的最大值。 <定義的> IHV 表示最小值與特定的 IHV 需求相關聯。
下表描述所有可編輯的 RSS 關鍵詞。
SubkeyName | ParamDesc | 類型 | 預設值 | Min | Max |
---|---|---|---|---|---|
*RssBaseProcGroup | RSS 基底處理器群組 | int | 0 | 0 | MAXIMUM_GROUPS-1 |
*NumaNodeId | 慣用 NUMA 節點 | int | 65535 (任何節點) | 0 | 系統特定 - 不能超過 65535 |
*RssBaseProcNumber | RSS 基底處理器編號 | int | 0 | 0 | MAXIMUM_PROC_PER_GROUP-1 |
*MaxRssProcessors | RSS 處理器數目上限 | int | 16 | 1 | MAXIMUM_PROC_PER_SYSTEM |
*RssMaxProcNumber | RSS 處理器數目上限 | int | MAXIMUM_PROC_PER_GROUP-1 (預設值) | 0 | MAXIMUM_PROC_PER_GROUP-1 |
*NumRSSQueues | RSS 佇列數目上限 | int | 16 | 1 | 裝置特定 |
*RSSMaxProcGroup | RSS 最大處理器群組 | int | 0 | 0 | MAXIMUM_GROUPS-1 |
注意:雖然 *RssBaseProcGroup 的有效範圍是零到 MAXIMUM_GROUPS-1,但在 Windows 7 中,它必須是零。 否則,TCP/IP 通訊協定不會針對 RSS 使用任何處理器。
注意:*NumaNodeId (65535) 的預設值表示網路適配器與 NUMA 節點無關,而 NDIS 不應該嘗試偏好任何節點而不是另一個節點。 如果 *NumaNodeId 關鍵詞不存在,則 NDIS 會根據 ACPI 的提示自動選取最接近的節點。
注意:*MaxRssProcessors 的最大值可能設定為 NIC 可支援的處理器數目上限。 NDIS 會自動將此值上限為目前系統上的最大處理器數目。
如需標準化 INF 關鍵詞的詳細資訊,請參閱 網路裝置的標準化 INF 關鍵詞。