Netdev List
 help / color / mirror / Atom feed
* [PATCH net-next v4 0/8] bnxt_en: Ring accounting fixes
@ 2026-10-16  6:44 Michael Chan
  2026-10-16  6:44 ` [PATCH net-next v4 1/8] bnxt_en: Clear bp->total_irqs when disabling IRQs Michael Chan
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Michael Chan @ 2026-10-16  6:44 UTC (permalink / raw)
  To: davem
  Cc: netdev, edumazet, kuba, pabeni, andrew+netdev, pavan.chebbi,
	andrew.gospodarek

The main purpose of this patchset is to fix ring accounting bugs
specifically when FW is unable to reserve all the rings requested
by the driver.  This issue was first reported by Sashiko when
reviewing the driver patches to support kTLS (patch #3 of 15):

https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260810051358.1244418-7-michael.chan@broadcom.com

kTLS support requires the new MPC rings, so the patches touch
the existing ring reservation logic and exposed the issues to
Sashiko.  The issues are real but only likely to be hit with a
large number of VFs, stressing the ring resources to the limit.
These issues were not found in the lab or by users, so Jakub
suggested splitting these out and posting them to net-next.

The patchset includes some refactoring and some related fixes
in this code path.  The driver will now scale down the rings
properly when FW is unable reserve all the rings requested by
the driver.  The default RSS context is also reset if the RX
rings have been reduced if needed.   Note that additional RSS
contexts and n-tuple filters have similar problems if the RX
rings are reduced and the fixes are deferred to a future
patchset.

Patch #6 is new and removes support for the obsolete NITRO A0,
to make the fixes in patch #8 simpler.

Patch #7 is new in v4 to refactor 2 helpers.

The patches were tested on 5750X and 5760X chips using production FW
version 237.x.x.x.

v4:
Improved patch #1 to fix a possible NULL bp->irq_tbl issue reported
by Sashiko.
Added a new patch #7 to fix the ring trimming issue in patch #8
reported by Sashiko.

v3:
Split from the original -net patchset (patchs 1 to 6)
Updated to address some more Sashiko comments.
Added the new patch #6 to remove NITRO A0.

https://lore.kernel.org/netdev/20261012220827.340998-1-michael.chan@broadcom.com/

v2:
Updated to address some Sashiko comments.

https://lore.kernel.org/netdev/20260928041712.3467803-1-michael.chan@broadcom.com/

v1:
https://lore.kernel.org/netdev/20260831024342.2161156-1-michael.chan@broadcom.com/

Michael Chan (8):
  bnxt_en: Clear bp->total_irqs when disabling IRQs
  bnxt_en: Fix bnxt_reinit_features() when irq_re_init is true
  bnxt_en: Refactor RSS table check logic
  bnxt_en: Refactor IRQs required logic
  bnxt_en: Reinit IRQ when configuring LRO/GRO/HDS
  bnxt_en: Remove support for the old NITRO A0 chip
  bnxt_en: Refactor bnxt_num_cp_to_tx()/bnxt_num_tx_to_cp() helpers
  bnxt_en: Fix ring accounting and validation when rings are constrained

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     | 480 ++++++++----------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h     |  14 +-
 .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c |  22 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c |   2 +-
 4 files changed, 234 insertions(+), 284 deletions(-)

-- 
2.51.0


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

end of thread, other threads:[~2026-10-16  6:45 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-16  6:44 [PATCH net-next v4 0/8] bnxt_en: Ring accounting fixes Michael Chan
2026-10-16  6:44 ` [PATCH net-next v4 1/8] bnxt_en: Clear bp->total_irqs when disabling IRQs Michael Chan
2026-10-16  6:44 ` [PATCH net-next v4 2/8] bnxt_en: Fix bnxt_reinit_features() when irq_re_init is true Michael Chan
2026-10-16  6:44 ` [PATCH net-next v4 3/8] bnxt_en: Refactor RSS table check logic Michael Chan
2026-10-16  6:44 ` [PATCH net-next v4 4/8] bnxt_en: Refactor IRQs required logic Michael Chan
2026-10-16  6:44 ` [PATCH net-next v4 5/8] bnxt_en: Reinit IRQ when configuring LRO/GRO/HDS Michael Chan
2026-10-16  6:44 ` [PATCH net-next v4 6/8] bnxt_en: Remove support for the old NITRO A0 chip Michael Chan
2026-10-16  6:44 ` [PATCH net-next v4 7/8] bnxt_en: Refactor bnxt_num_cp_to_tx()/bnxt_num_tx_to_cp() helpers Michael Chan
2026-10-16  6:44 ` [PATCH net-next v4 8/8] bnxt_en: Fix ring accounting and validation when rings are constrained Michael Chan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox