[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <31f9d78d-aec0-8e34-f499-ada44578657a@nvidia.com>
Date: Thu, 13 Jul 2023 10:22:52 +0800
From: Gavin Li <gavinl@...dia.com>
To: Heng Qi <hengqi@...ux.alibaba.com>
Cc: virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, bpf@...r.kernel.org, mst@...hat.com,
jasowang@...hat.com, xuanzhuo@...ux.alibaba.com,
davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, ast@...nel.org, daniel@...earbox.net,
hawk@...nel.org, john.fastabend@...il.com, jiri@...dia.com,
dtatulea@...dia.com
Subject: Re: [PATCH net-next V1 0/4] virtio_net: add per queue interrupt
coalescing support
On 7/12/2023 4:34 PM, Heng Qi wrote:
>
>
> 在 2023/7/10 下午5:20, Gavin Li 写道:
>> 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.
>
>
> We definitely did the same thing, and I'm waiting for our hardware
> implementation to be ready to
> push the ethtool + netdim implementation.
>
> Since this commit log is completely copied from the implementation of
> the virtio spec, consulting
> each other's scheduling plan in advance can be friendly to avoid us
> doing the same thing and consuming an extra effort.
>
> Thanks.
>
I didn't know about the effort you made and the progress of it.
Since the code has been done and tested, I'll continue submission.
>>
>> 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(-)
>>
>
Powered by blists - more mailing lists