Re: virtio_net: BQL?

From: Willem de Bruijn
Date: Mon May 17 2021 - 16:23:59 EST


On Mon, May 17, 2021 at 2:44 PM Dave Taht <dave.taht@xxxxxxxxx> wrote:
>
> Not really related to this patch, but is there some reason why virtio
> has no support for BQL?

There have been a few attempts to add it over the years.

Most recently, https://lore.kernel.org/lkml/20181205225323.12555-2-mst@xxxxxxxxxx/

That thread has a long discussion. I think the key open issue remains

"The tricky part is the mode switching between napi and no napi."

> On Mon, May 17, 2021 at 11:41 AM Xianting Tian
> <xianting.tian@xxxxxxxxxxxxxxxxx> wrote:
> >
> > BUG_ON() uses unlikely in if(), which can be optimized at compile time.
> >
> > Signed-off-by: Xianting Tian <xianting.tian@xxxxxxxxxxxxxxxxx>
> > ---
> > drivers/net/virtio_net.c | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> > index c921ebf3ae82..212d52204884 100644
> > --- a/drivers/net/virtio_net.c
> > +++ b/drivers/net/virtio_net.c
> > @@ -1646,10 +1646,9 @@ static int xmit_skb(struct send_queue *sq, struct
> > sk_buff *skb)
> > else
> > hdr = skb_vnet_hdr(skb);
> >
> > - if (virtio_net_hdr_from_skb(skb, &hdr->hdr,
> > + BUG_ON(virtio_net_hdr_from_skb(skb, &hdr->hdr,
> > virtio_is_little_endian(vi->vdev), false,
> > - 0))
> > - BUG();
> > + 0));
> >
> > if (vi->mergeable_rx_bufs)
> > hdr->num_buffers = 0;
> > --
> > 2.17.1
> >
>
>
> --
> Latest Podcast:
> https://www.linkedin.com/feed/update/urn:li:activity:6791014284936785920/
>
> Dave Täht CTO, TekLibre, LLC