Intel® Ethernet Controller E810 Application Device Queues (ADQ)

Configuration Guide

ID 609008
Date 04/03/2023
Version 2.8
Document Table of Contents

Run the Traffic

Note:Any application can be used to generate traffic; in this case, Netperf is used.
  1. Execute the Netperf TCP RR test between the servers' VMs. To configure and run the Netperf , follow the steps in the subsections of Testing ADQ with Netperf.
  2. Watch the busy_​poll counters on the host machine. watch -d -n 0.5 "ethtool -S $iface | grep busy | column"
  3. Inspect the pollers on the host machine.

    When ADQ application traffic is running with one or more independent pollers configured, system monitoring tools such as top/htop will show kernel threads running (with kernel version 5.12+). Refer to Verify ADQ Application Traffic and Independent Pollers (If Applicable) for more information.

    Note:Application traffic can be pinned either to the same CPU cores, or different cores, than the independent poller threads. There may be slight performance improvements using different CPU cores for the kernel pollers. However, if reducing the total number of CPU cores used by ADQ is important, overlapping application threads and independent poller threads is an option.

Known Issues

Egress traffic does not go from the last queue of the ADQ TC set; this is a kernel-specific issue that has been addressed in the 5.19* kernel.

  • Linux 5.18 or lower: Skbedit priority is in hex 0 based and queue_​mapping is in decimal 1 based.
  • Linux 5.19 or later: Skbedit priority is in hex 0 based and queue_​mapping is in decimal 0 based.