Chapter II. Network (NIC/TOE)
NIC
i.
Run the performance tuning script to map NIC queues to different CPUs:
[root@host~]# t4_perftune.sh -n -Q nic
ii. Enable adaptive-rx
[root@host~]# ethtool -C enp2s0f4 adaptive-rx on
iii. Set the following sysctl parameters
[root@host~]# sysctl -w net.ipv4.tcp_timestamps=0
[root@host~]# sysctl -w net.core.netdev_max_backlog=250000
[root@host~]# sysctl -w net.core.rmem_max=4194304
[root@host~]# sysctl -w net.core.wmem_max=4194304
[root@host~]# sysctl -w net.core.rmem_default=4194304
[root@host~]# sysctl -w net.core.wmem_default=4194304
[root@host~]# sysctl -w net.ipv4.tcp_rmem="4096 1048576 4194304"
[root@host~]# sysctl -w net.ipv4.tcp_wmem="4096 1048576 4194304"
NIC/TOE Latency
Enable BUSY_POLL feature:
[root@host~]# sysctl -w net.core.busy_poll = 50
[root@host~]# sysctl -w net.core.busy_read = 50
Receiver Side Scaling (RSS)
Receiver Side Scaling enables the receiving network traffic to scale with the available number of
processors on a modern networked computer. RSS enables parallel receive processing and
dynamically balances the load among multiple processors. Chelsio's network controller fully
supports Receiver Side Scaling for IPv4 and IPv6.
This script first determines the number of CPUs on the system and then each receiving queue is
bound to an entry in the system interrupt table and assigned to a specific CPU. Thus, each
receiving queue interrupts a specific CPU through a specific interrupt now. For example, on a 4-
core system,
t4_perftune.sh
Chelsio Unified Wire for Linux
gives the following output:
63
Need help?
Do you have a question about the Terminator Series and is the answer not in the manual?
Questions and answers