[PATCH v11 0/3] Subject: [PATCH 0/3] virtio-net: Add notification coalescing support

Koushik Dutta posted 3 patches 5 days, 18 hours ago
hw/net/virtio-net.c            | 241 ++++++++++++++++++++++++++++++---
include/hw/virtio/virtio-net.h |  11 ++
net/passt.c                    |   1 +
net/tap.c                      |   1 +
net/vhost-user.c               |   1 +
net/vhost-vdpa.c               |  58 ++++++++
6 files changed, 294 insertions(+), 19 deletions(-)
[PATCH v11 0/3] Subject: [PATCH 0/3] virtio-net: Add notification coalescing support
Posted by Koushik Dutta 5 days, 18 hours ago
This series implements VIRTIO_NET_F_NOTF_COAL (bit 53) for virtio-net,
enabling interrupt coalescing to reduce CPU overhead in high-throughput
workloads.

Patch 1 refactors TX path handling by introducing a unified dispatcher
that dynamically selects between timer-based and BH-based processing.
This is preparatory work with no functional changes.

Patch 2 implements the core notification coalescing feature, allowing
guests to configure RX/TX interrupt batching via ethtool -C using
time-based (microseconds) or count-based (packet) thresholds.

Patch 3 adds vDPA backend support, enabling coalescing state to be
restored during live migration when using Shadow VirtQueue.

Testing:
- Functional: ethtool -C configuration in guest with vDPA device
- Migration: VMState persistence across live migration
- Performance: 20% CPU overhead reduction, 30% fewer interrupts
- Compatibility: Feature disabled when tx=timer is configured

Changes in v11:
---------------
- Adds vDPA backend support for notification coalescing
- Resolved review comments

Koushik Dutta (3):
  Introduce virtio_net_handle_tx_dispatch() to unify TX path handling.
    This dispatcher dynamically selects between timer-based and BH-based
    TX processing based on configuration.
  virtio-net: Add VIRTIO_NET_F_NOTF_COAL support
  vhost-vdpa: Add VIRTIO_NET_F_NOTF_COAL support for vDPA

 hw/net/virtio-net.c            | 241 ++++++++++++++++++++++++++++++---
 include/hw/virtio/virtio-net.h |  11 ++
 net/passt.c                    |   1 +
 net/tap.c                      |   1 +
 net/vhost-user.c               |   1 +
 net/vhost-vdpa.c               |  58 ++++++++
 6 files changed, 294 insertions(+), 19 deletions(-)

-- 
2.53.0