What can I help you with?
NVIDIA BlueField Virtio-net v24.10

Dynamic Interrupt Moderation

Dynamic Interrupt Moderation (DIM) adjusts the interrupt moderation settings to optimize packet processing. For guest OS kernels older than version 6.8, DIM offloads this function to the DPU, reducing the interrupt rate from the guest OS.

By lowering the interrupt rate in high-bandwidth traffic scenarios, DIM enhances CPU utilization for both the hypervisor and guest VMs, while maintaining nearly the same bandwidth.

Note

DIM is only supported on BlueField-3.

For example, the following table shows the benefit of using DIM:

Tx Interrupt Rate (K irq/s)

Rx Interrupt Rate (K irq/s)

Tx Throughput (Gb/s)

Rx Throughput (Gb/s)

DIM Enabled

7.3

7.5

171

181

DIM Disabled

7.5

23.7

175

181

The following test parameters:

  • Guest OS kernel version – 5.11.0

  • Number of virtio-net device – 1

  • Number of QPs – 31

  • Queue depth – 1024

  • MTU – 1500

  • Benchmark – iPerf with 31 streams

DIM is a per-device configuration. To enable or disable it, use this command:

Copy
Copied!
            

[dpu]# virtnet modify -p <pf> [-v <vf>] device -dim {enable | disable}

Configuration example:

  1. Unload drivers from the guest-OS side:

    Copy
    Copied!
                

    [host]# modprobe -rv virtio_net && modprobe -rv virtio_pci

  2. Enable DIM:

    Copy
    Copied!
                

    [dpu]# virtnet modify -p 0 device -dim enable {'pf': '0x0', 'all': '0x0', 'subcmd': '0x0', 'dim_config': 'enable'} { "errno": 0, "errstr": "Success" }

    Info

    Using disable disables DIM.

  3. Load the drivers:

    Copy
    Copied!
                

    [host]# modprobe -v virtio_pci && modprobe -v virtio_net

  4. Query the device to verify dim is enabled:

    Copy
    Copied!
                

    [dpu]# virtnet query -p 0 -b | grep -i dim "dim": "enabled"

© Copyright 2024, NVIDIA. Last updated on Nov 12, 2024.