Intel® Ethernet 700/800 Series
Windows Performance Tuning Guide
RSS Base Processor Number
In addition to setting the Maximum Number of RSS Queues for the device port, Intel also recommends that you adjust the RSS Base Processor Number to specify the CPU core at which to start mapping the RSS queues.
The RSS queue-to-processor mappings are allocated sequentially, starting with the RSS Base Processor number, and are incremented by one local CPU core for each RSS queue, up to the Maximum Number of RSS queues/processors.
This setting is recommended for environments that have:
- Adapters with more than one active port (such as 2x25G, 4x25G, 8x10G).
- Adapters on a CPU socket or NUMA node that does not start at Core 0.
-
Adapters on a CPU socket or NUMA node that does start at Core 0. Set the Base RSS Processor to start at the next physical, local core, to avoid Core 0, which is used for Windows OS administration tasks.
If you have multiple ports installed in a system, the RSS queues of each adapter port can be adjusted to use non-overlapping sets of processors within the adapter's local Non-Uniform Memory Access (NUMA) Node/Socket.
Change the RSS Base Processor Number for each adapter port, so that the combination of the base processor and the Max Number of RSS Processor settings ensure non-overlapping cores.
For Microsoft Windows systems, do the following:
- Identify the adapter ports to be adjusted and inspect their RssProcessorArray:
Get-NetAdapterRSS -Name <Adapter Name> - Identify the processors with NUMA distance 0. These are the cores in the adapter's local NUMA Node/Socket, and they provide the best performance.
Note:If Hyper-Threading is enabled in BIOS, the driver does not utilize the hyper-threaded cores for RSS, and this can impact performance for applications using both physical and logical (HT) cores. - Adjust the RSS Base Processor Number on each port to use a non-overlapping set of processors within the local set of processors. You can do this manually or using the following PowerShell command:
Set-NetAdapterAdvancedProperty -Name <Adapter Name> -DisplayName "RSS Base Processor Number" -DisplayValue <RSS Base Proc Value> - Verify the right values have been set:
Get-NetAdapterAdvancedproperty -Name <Adapter Name>
Example:
For a 4-port adapter with local processors 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30:
Set the Maximum Number of RSS Processors to 8 on the 4 interfaces:
Set the RSS Base Processor Number to 0, 8, 16 and 24 on the 4 interfaces: