Michael S. Tsirkin
2023-Jul-13 11:40 UTC
[PATCH net-next V1 0/4] virtio_net: add per queue interrupt coalescing support
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 at redhat.com>> 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
Xuan Zhuo
2023-Jul-14 02:10 UTC
[PATCH net-next V1 0/4] virtio_net: add per queue interrupt coalescing support
On Thu, 13 Jul 2023 07:40:12 -0400, "Michael S. Tsirkin" <mst at redhat.com> 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 at redhat.com>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 >