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

From: Xuan Zhuo
Date: Thu Jul 13 2023 - 22:12:53 EST


On Thu, 13 Jul 2023 07:40:12 -0400, "Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:
> On Mon, Jul 10, 2023 at 12:20:01PM +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.
>
> series:
>
> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>


Why?

This series has the bug I reported.

Are you thinking that is ok? Or this is not a bug?

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
> >
> > In this patch series:
> > Patch-1: Extract interrupt coalescing settings to a structure.
> > Patch-2: Extract get/set interrupt coalesce to a function.
> > Patch-3: Support per queue interrupt coalesce command.
> > Patch-4: Enable per queue interrupt coalesce feature.
> >
> > 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
> > virtio_net: enable per queue interrupt coalesce feature
> >
> > drivers/net/virtio_net.c | 169 ++++++++++++++++++++++++++------
> > include/uapi/linux/virtio_net.h | 14 +++
> > 2 files changed, 154 insertions(+), 29 deletions(-)
> >
> > --
> > 2.39.1
>