netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v3 0/2] bnxt_en: implement netdev_queue_mgmt_ops
@ 2024-06-19  6:29 David Wei
  2024-06-19  6:29 ` [PATCH net-next v3 1/2] bnxt_en: split rx ring helpers out from ring helpers David Wei
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: David Wei @ 2024-06-19  6:29 UTC (permalink / raw)
  To: Michael Chan, Andy Gospodarek, Adrian Alvarado, Somnath Kotur,
	netdev
  Cc: Pavel Begunkov, Jakub Kicinski, David Ahern, David S. Miller,
	Eric Dumazet, Paolo Abeni

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-06-24 22:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-19  6:29 [PATCH net-next v3 0/2] bnxt_en: implement netdev_queue_mgmt_ops David Wei
2024-06-19  6:29 ` [PATCH net-next v3 1/2] bnxt_en: split rx ring helpers out from ring helpers David Wei
2024-06-20 16:54   ` Simon Horman
2024-06-19  6:29 ` [PATCH net-next v3 2/2] bnxt_en: implement netdev_queue_mgmt_ops David Wei
2024-06-20 16:54   ` Simon Horman
2024-06-22  0:20   ` Jakub Kicinski
2024-06-24 18:20     ` David Wei
2024-06-24 22:02       ` Jakub Kicinski
2024-06-24 22:50         ` David Wei
2024-06-21  9:20 ` [PATCH net-next v3 0/2] " patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).