Re: [Bloat] virtio_net: BQL?

From: Jakub Kicinski
Date: Wed May 19 2021 - 18:53:59 EST


On Wed, 19 May 2021 16:31:10 +0200 Eric Dumazet wrote:
> On 5/18/21 1:00 AM, Stephen Hemminger wrote:
> > The Azure network driver (netvsc) also does not have BQL. Several years ago
> > I tried adding it but it benchmarked worse and there is the added complexity
> > of handling the accelerated networking VF path.
>
> Note that NIC with many TX queues make BQL almost useless, only adding extra
> overhead.
>
> We should probably make BQL something that can be manually turned on/off.

Ah, I've been pondering this. Are you thinking of a bit in
dev_queue->state? Not perfect, because with a careful driver design
one can avoid most dev_queue accesses from the completion path.
It's still much better than recompiling the kernel to set BQL=n, tho.