Check out my first novel, midnight's simulacra!
Receive Side Scaling: Difference between revisions
(Created page with "Receive Side Scaling (RSS) is a method of directing incoming traffic to different CPUs. It requires support in the bus (MSI-X), NIC hardware (such hardware is commonly referred to as "multi-queue") and driver. In the absence of hardware support, Linux implements Receive Packet Steering in software, but it is higher in the stack. <tt>irqbalance</tt> works by identifying large interrupt sources, and binding their handlers to different processors. Under this scheme, a sing...") Tags: mobile web edit mobile edit |
No edit summary Tags: mobile web edit mobile edit |
||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
<tt>irqbalance</tt> works by identifying large interrupt sources, and binding their handlers to different processors. Under this scheme, a single NIC's traffic will only be handled on a single CPU. With sufficiently high loads, we need handling on multiple CPUs. RSS is typically configured so that all packets of a given flow go to a single CPU, and different flows are randomly distributed across CPUs. Each receive queue gets its own IRQ, which can then be directed to a set of CPUs via standard processes. <tt>irqbalance</tt> can conflict with manual RSS configurations. | <tt>irqbalance</tt> works by identifying large interrupt sources, and binding their handlers to different processors. Under this scheme, a single NIC's traffic will only be handled on a single CPU. With sufficiently high loads, we need handling on multiple CPUs. RSS is typically configured so that all packets of a given flow go to a single CPU, and different flows are randomly distributed across CPUs. Each receive queue gets its own IRQ, which can then be directed to a set of CPUs via standard processes. <tt>irqbalance</tt> can conflict with manual RSS configurations. | ||
==ethtool== | |||
* <tt>--show-ntuple</tt>: | |||
==Links== | |||
* Microsoft [https://docs.microsoft.com/en-us/windows-hardware/drivers/network/introduction-to-receive-side-scaling RSS docs] under "Driver Technologies" |
Latest revision as of 15:15, 2 April 2022
Receive Side Scaling (RSS) is a method of directing incoming traffic to different CPUs. It requires support in the bus (MSI-X), NIC hardware (such hardware is commonly referred to as "multi-queue") and driver. In the absence of hardware support, Linux implements Receive Packet Steering in software, but it is higher in the stack.
irqbalance works by identifying large interrupt sources, and binding their handlers to different processors. Under this scheme, a single NIC's traffic will only be handled on a single CPU. With sufficiently high loads, we need handling on multiple CPUs. RSS is typically configured so that all packets of a given flow go to a single CPU, and different flows are randomly distributed across CPUs. Each receive queue gets its own IRQ, which can then be directed to a set of CPUs via standard processes. irqbalance can conflict with manual RSS configurations.
ethtool
- --show-ntuple:
Links
- Microsoft RSS docs under "Driver Technologies"