[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240619062931.19435-1-dw@davidwei.uk>
Date: Tue, 18 Jun 2024 23:29:29 -0700
From: David Wei <dw@...idwei.uk>
To: Michael Chan <michael.chan@...adcom.com>,
Andy Gospodarek <andrew.gospodarek@...adcom.com>,
Adrian Alvarado <adrian.alvarado@...adcom.com>,
Somnath Kotur <somnath.kotur@...adcom.com>,
netdev@...r.kernel.org
Cc: Pavel Begunkov <asml.silence@...il.com>,
Jakub Kicinski <kuba@...nel.org>,
David Ahern <dsahern@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Paolo Abeni <pabeni@...hat.com>
Subject: [PATCH net-next v3 0/2] bnxt_en: implement netdev_queue_mgmt_ops
Implement netdev_queue_mgmt_ops for bnxt added in [1]. This will be used
in the io_uring ZC Rx patchset to configure queues with a custom page
pool w/ a special memory provider for zero copy support.
The first two patches prep the driver, while the final patch adds the
implementation.
Any arbitrary Rx queue can be reset without affecting other queues. V2
and prior of this patchset was thought to only support resetting queues
not in the main RSS context. Upon further testing I realised moving
queues out and calling bnxt_hwrm_vnic_update() wasn't necessary.
I didn't include the netdev core API using this netdev_queue_mgmt_ops
because Mina is adding it in his devmem TCP series [2]. But I'm happy to
include it if folks want to include a user with this series.
I tested this series on BCM957504-N1100FY4 with FW 229.1.123.0. I
manually injected failures at all the places that can return an errno
and confirmed that the device/queue is never left in a broken state.
[1]: https://lore.kernel.org/netdev/20240501232549.1327174-2-shailend@google.com/
[2]: https://lore.kernel.org/netdev/20240607005127.3078656-2-almasrymina@google.com/
---
v3:
- tested w/o bnxt_hwrm_vnic_update() and it works on any queue
- removed unneeded code
v2:
- fix broken build
- remove unused var in bnxt_init_one_rx_ring()
David Wei (2):
bnxt_en: split rx ring helpers out from ring helpers
bnxt_en: implement netdev_queue_mgmt_ops
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 575 ++++++++++++++++++----
1 file changed, 468 insertions(+), 107 deletions(-)
--
2.43.0
Powered by blists - more mailing lists