The following configuration options are used to decrease latency.
Important: If you are using an AMD EPYC CPU, see also the
Low Latency Tuning for AMD EPYC CPU Powered Servers White Paper (58649) and its
Release Notes
.
First, set some configuration options that decrease latency for Onload acceleration technologies. On both machines:
- Stop the irqbalance service on the server:
systemctl stop irqbalance - Allocate huge pages. For example, to configure 1024 huge pages:
# sysctl -w vm.nr_hugepages=1024To make this change persistent, update /etc/sysctl.conf. For example:
# echo "vm.nr_hugepages = 1024" >> /etc/sysctl.confFor more information refer to Allocating Huge Pages.
- Consider the selection of the NUMA node, as this affects latency on a NUMA-aware system. Refer to Onload Deployment on NUMA Systems.
Now perform the following configuration to improve latency without Onload.
Note: These configuration changes have minimal effect on the performance of Onload.
- Set tuned to use the cpu-partitioning profile. This makes it easy to isolate
cores that can be dedicated to interrupt handling or to an application. For example, to isolate
cores 1-3:
# echo "isolated_cores=1-3" \ > /etc/tuned/cpu-partitioning-variables.conf # tuned-adm profile cpu-partitioning - Enable the kernel “busy poll” feature to disable interrupts and allow polling of the socket receive queue. The following values are recommended:
# sysctl net.core.busy_poll=50 && sysctl net.core.busy_read=50