Intel® Ethernet 800 Series

Linux Performance Tuning Guide

ID Date Version Classification
636781 10/23/2023 Public
Document Table of Contents

​Tx/Rx Queues

For ice driver version 1.10.X and earlier, the default number of queues enabled for each Ethernet port by the driver at initialization is equal to the total number of CPUs available in the platform. This works well for many platform and workload configurations. However, in platforms with high core counts and/or high Ethernet port density, this configuration can cause resource contention. Therefore, it might be necessary, in some cases, to modify the default number of queues for each port in the system.

For ice driver version 1.11.14 and later, the default number of queues allocated by the driver during initialization was changed to a maximum of 64 queues per port, or up to the maximum number of cores on the local NUMA node for the device (if local NUMA has fewer than 64 cores).

This change to the default value was added as a feature request to alleviate resource contention for servers with higher core counts and/or high Ethernet port density. The number of queues can still be adjusted using the ethtool -l command listed below. Only the default value was changed in ice version 1.11.14 and later.

Note:​In these cases, Intel recommends reducing the default queue count for each port to no more than the number of CPUs available in the NUMA node local to the adapter port. In some cases, when attempting to balance resources on high port count implementations, it might be necessary to reduce this number even further.

The following example sets the port to 32 Tx/Rx queues:

  • ​​Modify the queue configuration: ethtool -L ethX combined 32

    Example output: ethtool -l ethX Channel parameters for ethX: Pre-set maximums: RX: 96 TX: 96 Other: 1 Combined: 96 Current hardware settings: RX: 0 TX: 0 Other: 1 Combined: 32