Re: [PATCH net-next V3 0/4] virtio_net: add per queue interrupt coalescing support

From: Heng Qi
Date: Mon Jul 24 2023 - 01:18:28 EST


On Mon, Jul 24, 2023 at 06:40:44AM +0300, Gavin Li wrote:
> Currently, coalescing parameters are grouped for all transmit and receive
> virtqueues. This patch series add support to set or get the parameters for
> a specified virtqueue.
>
> When the traffic between virtqueues is unbalanced, for example, one virtqueue
> is busy and another virtqueue is idle, then it will be very useful to
> control coalescing parameters at the virtqueue granularity.
>

For series:

Reviewed-by: Heng Qi <hengqi@xxxxxxxxxxxxxxxxx>

After this set is merged, I will issue the netdim patchset on top of this.

Thanks.

> Example command:
> $ ethtool -Q eth5 queue_mask 0x1 --coalesce tx-packets 10
> Would set max_packets=10 to VQ 1.
> $ ethtool -Q eth5 queue_mask 0x1 --coalesce rx-packets 10
> Would set max_packets=10 to VQ 0.
> $ ethtool -Q eth5 queue_mask 0x1 --show-coalesce
> Queue: 0
> Adaptive RX: off TX: off
> stats-block-usecs: 0
> sample-interval: 0
> pkt-rate-low: 0
> pkt-rate-high: 0
>
> rx-usecs: 222
> rx-frames: 0
> rx-usecs-irq: 0
> rx-frames-irq: 256
>
> tx-usecs: 222
> tx-frames: 0
> tx-usecs-irq: 0
> tx-frames-irq: 256
>
> rx-usecs-low: 0
> rx-frame-low: 0
> tx-usecs-low: 0
> tx-frame-low: 0
>
> rx-usecs-high: 0
> rx-frame-high: 0
> tx-usecs-high: 0
> tx-frame-high: 0
>
> Gavin Li (4):
> virtio_net: extract interrupt coalescing settings to a structure
> virtio_net: extract get/set interrupt coalesce to a function
> virtio_net: support per queue interrupt coalesce command
> ---
> changelog:
> v1->v2
> - Addressed the comment from Xuan Zhuo
> - Allocate memory from heap instead of using stack memory for control vq
> messages
> v2->v3
> - Addressed the comment from Heng Qi
> - Use control_buf for control vq messages
> ---
> virtio_net: enable per queue interrupt coalesce feature
>
> drivers/net/virtio_net.c | 172 ++++++++++++++++++++++++++------
> include/uapi/linux/virtio_net.h | 14 +++
> 2 files changed, 157 insertions(+), 29 deletions(-)
>
> --
> 2.39.1
>