RSS 接口支持在注册表中显示并在 INF 文件中指定的标准化 INF 关键字。
以下列表显示了 RSS 的枚举标准化 INF 关键字:
*RSS
为微型端口适配器启用或禁用 RSS 支持。
*RSSProfile
处理器选择和负载均衡配置文件。
Note: Changes to the *RSSProfile setting require an adapter restart.
Note: If *RSSProfile is set to NdisRssProfileBalanced, you can't configure advanced keywords such as *RssBaseProcNumber, *RssBaseProcGroup, *RssMaxProcNumber, *RssMaxProcGroup, or *NumaNodeId. You can configure *MaxRssProcessors and *NumRSSQueues.
NDIS 6.30 added support for *RSSProfile.
枚举标准化 INF 关键字具有以下属性:
SubkeyName
必须在 INF 文件中指定且出现在注册表中的关键字名称。
ParamDesc
与 SubkeyName 关联的显示文本。
Value
与列表中的每个选项关联的枚举整数值。 This value is stored in NDI\params\ SubkeyName\Value.
EnumDesc
与菜单中显示的每个值关联的显示文本。
Default
菜单的默认值
下表描述了 RSS 枚举关键字可能的 INF 条目。
| SubkeyName | ParamDesc | Value | EnumDesc |
|---|---|---|---|
| *RSS | 接收方缩放 | 0 | Disabled |
| 1 (Default) | Enabled | ||
| *RSSProfile | RSS 负载均衡配置文件 | 1 | ClosestProcessor: Default behavior is consistent with that of Windows Server 2008 R2. |
| 2 | ClosestProcessorStatic: No dynamic load-balancing - Distribute but don't load-balance at runtime. | ||
| 3 | NUMAScaling: Assign RSS CPUs in a round robin basis across every NUMA node to enable applications that are running on NUMA servers to scale well. | ||
| 4 (Default) | NUMAScalingStatic: RSS processor selection is the same as for NUMA scalability without dynamic load-balancing. | ||
| 5 | ConservativeScaling: RSS uses as few processors as possible to sustain the load. 此选项有助于减少中断次数。 | ||
| 6(异类 CPU 系统上的默认值) | NdisRssProfileBalanced: RSS processor selection is based on traffic workload. Only available in NetAdapterCx, starting in WDK preview version 25197. |
以下列表显示了可编辑的 RSS 的标准化 INF 关键字:
*RssBaseProcGroup
The number of the processor group for the processor number that is specified in the *RssBaseProcNumber keyword.
*NumaNodeId
用于网络适配器内存分配的首选 NUMA 节点。 此外,操作系统会首先尝试将首选 NUMA 节点中的 CPU 用于 RSS。
PCI 扩展卡的驱动程序不应在其 INF 中以静态方式指定 NUMA 节点 ID,因为最近的节点取决于将卡插入的 PCI 插槽。 Only specify *NumaNodeId if the network adapter is integrated into the system, the NUMA node is known in advance, and the node cannot be determined at runtime by querying ACPI.
Note: If this keyword is present and its value is less than the number of NUMA nodes in the computer, NDIS uses this value in the PreferredNumaNode member in the NDIS_RSS_PROCESSOR_INFO structure.
Note: In Windows 8 the *NumaNodeId value is ignored if the NIC RSS profile is set to NUMAScaling(2) or NUMAScalingStatic(3).
*RssBaseProcNumber
指定组中的基本 RSS 处理器的编号。
*MaxRssProcessors
最大 RSS 处理器数。
*RssMaxProcNumber
RSS 接口的最大处理器编号。
If *RssMaxProcNumber is specified, then *RssMaxProcGroup should also be specified.
*NumRSSQueues
RSS 队列数。
*RssMaxProcGroup The maximum processor group of the RSS interface.
*RssBaseProcGroup together with *RssBaseProcNumber form a PROCESSOR_NUMBER structure that identifies the smallest processor number that can be used with RSS. *RssMaxProcGroup together with *RssMaxProcNumber form a PROCESSOR_NUMBER structure that identifies the maximum processor number that can be used with RSS.
For example, suppose *RssBaseProcGroup is set to 1, *RssBaseProcNumber is set to 16, *RssMaxProcGroup is set to 3, and *RssMaxProcNumber is set to 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 added support for the *RssBaseProcGroup, *NumaNodeId, *RssBaseProcNumber, and *MaxRssProcessors keywords.
NDIS 6.30 added support for the *RssMaxProcNumber, and *NumRSSQueues keywords.
可编辑的标准化 INF 关键字具有以下属性:
SubkeyName
必须在 INF 文件中指定且出现在注册表中的关键字名称。
ParamDesc
与 SubkeyName 关联的显示文本。
类型
可以编辑的值的类型。 该值可以是数字 (Int) 或可以编辑的文本(编辑)。
Default value
整数或文本的默认值。 <定义的 IHV> 指示该值与特定的独立硬件供应商 (IHV) 要求关联。
Min
整数允许的最小值。 <定义的 IHV> 指示最小值与特定的 IHV 要求相关联。
Max
整数允许的最大值。 <定义的 IHV> 指示最小值与特定的 IHV 要求相关联。
下表描述了可以编辑的所有 RSS 关键字。
| SubkeyName | ParamDesc | 类型 | Default value | 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 (Default) | 0 | MAXIMUM_PROC_PER_GROUP-1 |
| *NumRSSQueues | 最大 RSS 队列数 | Int | 16 | 1 | Device-specific |
| *RSSMaxProcGroup | RSS 最大处理器组 | Int | 0 | 0 | MAXIMUM_GROUPS-1 |
Note: Although the valid range for *RssBaseProcGroup is zero to MAXIMUM_GROUPS-1, in Windows 7 it must be zero. 否则,TCP/IP 协议不会将任何处理器用于 RSS。
Note: The default value for *NumaNodeId (65535) means the network adapter is agnostic to NUMA node, and NDIS should not attempt to prefer any node over another. If the *NumaNodeId keyword is not present, then NDIS automatically selects the closest node based on hints from ACPI.
Note: The max value for *MaxRssProcessors may be set to the maximum number of processors that the NIC can support. NDIS 将自动将此值上限设置为当前系统上的最大处理器数。
有关标准化 INF 关键字的详细信息,请参阅网络设备的标准化 INF 关键字。