[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240711220713.283778-1-kuba@kernel.org>
Date: Thu, 11 Jul 2024 15:07:02 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org,
edumazet@...gle.com,
pabeni@...hat.com,
ecree.xilinx@...il.com,
michael.chan@...adcom.com,
horms@...nel.org,
pavan.chebbi@...adcom.com,
przemyslaw.kitszel@...el.com,
Jakub Kicinski <kuba@...nel.org>
Subject: [PATCH net-next 00/11] eth: bnxt: use the new RSS API
Convert bnxt from using the set_rxfh API to separate create/modify/remove
callbacks.
Two small extensions to the core APIs are necessary:
- the ability to discard contexts if for some catastrophic reasons
device can no longer provide them;
- the ability to reserve space in the context for RSS table growth.
The driver is adjusted to store indirection tables on u32 to make
it easier to use core structs directly.
With that out of the way the conversion is fairly straightforward.
Since the opposition to discarding contexts was relatively mild
and its what bnxt does already, I'm sticking to that. We may very
well need to revisit that at a later time.
v2:
- move "lost context" helper to common.c to avoid build problems
when ethtool-nl isn't enabled
- add a note about the counter proposal in the commit message
- move key_off to the end, under the private label (hiding from kdoc)
- remove bnxt_get_max_rss_ctx_ring()
- switch from sizeof(u32) to sizeof(*indir_tbl)
- add a sentence to the commit msg
- store a pointer to struct ethtool_rxfh_param instead of
adding the ethtool_rxfh_priv_context() helper
v1: https://lore.kernel.org/all/20240702234757.4188344-1-kuba@kernel.org/
Jakub Kicinski (11):
net: ethtool: let drivers remove lost RSS contexts
net: ethtool: let drivers declare max size of RSS indir table and key
eth: bnxt: allow deleting RSS contexts when the device is down
eth: bnxt: move from .set_rxfh to .create_rxfh_context and friends
eth: bnxt: remove rss_ctx_bmap
eth: bnxt: depend on core cleaning up RSS contexts
eth: bnxt: use context priv for struct bnxt_rss_ctx
eth: bnxt: use the RSS context XArray instead of the local list
eth: bnxt: pad out the correct indirection table
eth: bnxt: bump the entry size in indir tables to u32
eth: bnxt: use the indir table from ethtool context
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 126 +++++--------
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 17 +-
.../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 165 ++++++++++--------
include/linux/ethtool.h | 20 +--
net/ethtool/common.c | 14 ++
net/ethtool/ioctl.c | 46 +++--
6 files changed, 194 insertions(+), 194 deletions(-)
--
2.45.2
Powered by blists - more mailing lists