Chapter II. Network (NIC/TOE)
[root@host~]# t4_perftune.sh
Discovering Chelsio T4/T5 devices ...
Configuring Chelsio T4/T5 devices ...
Tuning eth7
IRQ table length 4
Writing 1 in /proc/irq/62/smp_affinity
Writing 2 in /proc/irq/63/smp_affinity
Writing 4 in /proc/irq/64/smp_affinity
Writing 8 in /proc/irq/65/smp_affinity
eth7 now up and tuned
...
Because there are 4 CPUs on the system, 4 entries of interrupts are assigned. For other network
interfaces, you should see similar output message.
Now the receiving traffic is dynamically assigned to one of the system's CPUs through a
Terminator queue. This achieves a balanced usage among all the processors. This can be
verified, for example, by using the iperf tool. First set up a server on the receiver host:
[root@receiver_host~]# iperf –s
Then on the sender host, send data to the server using the iperf client mode. To emulate a
moderate traffic workload, use -P option to request 20 TCP streams from the server:
[root@sender_host~]# iperf -c receiver_host_name_or_IP -P 20
Then on the receiver host, look at interrupt rate at
[root@receiver_host~]# cat /proc/interrupts | grep eth6
Id
CPU0
36:
115229
37:
0
121083
38:
0
39:
0
Now interrupts from eth6 are evenly distributed among the 4 CPUs.
Without Terminator's RSS support, the interrupts caused by network traffic may be distributed
unevenly over CPUs. For your information, the traffic produced by the same iperf commands
Chelsio Unified Wire for Linux
CPU1
CPU2
0
0
1
0
105423
0
0
/proc/interrupts
CPU3
type
1
PCI-MSI-edge
0
PCI-MSI-edge
1
PCI-MSI-edge
115724
PCI-MSI-edge
:
interface
eth6 (queue 0)
eth6 (queue 1)
eth6 (queue 2)
eth6 (queue 3)
64
Need help?
Do you have a question about the Terminator Series and is the answer not in the manual?
Questions and answers