lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 13 Jun 2024 15:49:25 +0800
From: Jason Xing <kerneljasonxing@...il.com>
To: Jiri Pirko <jiri@...nulli.us>
Cc: edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com, 
	davem@...emloft.net, dsahern@...nel.org, mst@...hat.com, jasowang@...hat.com, 
	xuanzhuo@...ux.alibaba.com, eperezma@...hat.com, leitao@...ian.org, 
	netdev@...r.kernel.org, Jason Xing <kernelxing@...cent.com>, shayagr@...zon.com, 
	akiyano@...zon.com
Subject: Re: [PATCH net-next v3] net: dqs: introduce IFF_NO_BQL private flag
 for non-BQL drivers

On Thu, Jun 13, 2024 at 3:24 PM Jason Xing <kerneljasonxing@...il.com> wrote:
>
> On Thu, Jun 13, 2024 at 3:19 PM Jiri Pirko <jiri@...nulli.us> wrote:
> >
> > Thu, Jun 13, 2024 at 08:08:36AM CEST, kerneljasonxing@...il.com wrote:
> > >On Thu, Jun 13, 2024 at 1:38 PM Jiri Pirko <jiri@...nulli.us> wrote:
> > >>
> > >> Thu, Jun 13, 2024 at 04:35:49AM CEST, kerneljasonxing@...il.com wrote:
> > >> >From: Jason Xing <kernelxing@...cent.com>
> > >> >
> > >> >Since commit 74293ea1c4db6 ("net: sysfs: Do not create sysfs for non
> > >> >BQL device") limits the non-BQL driver not creating byte_queue_limits
> > >> >directory, I found there is one exception, namely, virtio-net driver,
> > >> >which should also be limited in netdev_uses_bql(). Let me give it a
> > >> >try first.
> > >> >
> > >> >I decided to introduce a NO_BQL bit because:
> > >> >1) it can help us limit virtio-net driver for now.
> > >> >2) if we found another non-BQL driver, we can take it into account.
> > >> >3) we can replace all the driver meeting those two statements in
> > >> >netdev_uses_bql() in future.
> > >> >
> > >> >For now, I would like to make the first step to use this new bit for dqs
> > >> >use instead of replacing/applying all the non-BQL drivers in one go.
> > >> >
> > >> >As Jakub said, "netdev_uses_bql() is best effort", I think, we can add
> > >> >new non-BQL drivers as soon as we find one.
> > >> >
> > >> >After this patch, there is no byte_queue_limits directory in virtio-net
> > >> >driver.
> > >>
> > >> Please note following patch is currently trying to push bql support for
> > >> virtio_net:
> > >> https://lore.kernel.org/netdev/20240612170851.1004604-1-jiri@resnulli.us/
> > >
> > >I saw this one this morning and I'm reviewing/testing it.
> > >
> > >>
> > >> When that is merged, this patch is not needed. Could we wait?
> > >
> > >Please note this patch is not only written for virtio_net driver.
> > >Virtio_net driver is one of possible cases.
> >
> > Yeah, but without virtio_net, there will be no users. What's the point
> > of having that in code? I mean, in general, no-user kernel code gets
> > removed.
>
> Are you sure netdev_uses_bql() can limit all the non-bql drivers with
> those two checks? I haven't investigated this part.

I just googled it very quickly and saw the ENA driver which turns off
BQL by default due to the problem of head-of line blocking[1].
IIUC, ENA is not limited by the checks in netdev_uses_bql() but it should.

I run this command: grep -ir -E "NO_QUEUE|NETIF_F_LLTX"
drivers/net/ethernet/amazon/ena

Am I right?

[1]: https://github.com/amzn/amzn-drivers/issues/262

>
> >
> >
> > >
> > >After your patch gets merged (I think it will take some time), you
> > >could simply remove that one line in virtio_net.c.
> > >
> > >Thanks.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ