[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250117194815.1514410-1-kuba@kernel.org>
Date: Fri, 17 Jan 2025 11:48:09 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org,
edumazet@...gle.com,
pabeni@...hat.com,
andrew+netdev@...n.ch,
horms@...nel.org,
michael.chan@...adcom.com,
pavan.chebbi@...adcom.com,
ap420073@...il.com,
Jakub Kicinski <kuba@...nel.org>
Subject: [PATCH net-next 0/6] net: ethtool: fixes for HDS threshold
Quick follow up on the HDS threshold work, since the merge window
is upon us.
Fix the bnxt implementation to apply the settings right away,
because we update the parameters _after_ configuring HW user
needed to reconfig the device twice to get the settings to stick.
For this I took the liberty of moving the config to a separate
struct. This follows my original thinking for the queue API.
It should also fit more neatly into how many drivers which
support safe config update operate. Drivers can allocate
new objects using the "pending" struct.
netdevsim:
KTAP version 1
1..7
ok 1 hds.get_hds
ok 2 hds.get_hds_thresh
ok 3 hds.set_hds_disable
ok 4 hds.set_hds_enable
ok 5 hds.set_hds_thresh_zero
ok 6 hds.set_hds_thresh_max
ok 7 hds.set_hds_thresh_gt
# Totals: pass:7 fail:0 xfail:0 xpass:0 skip:0 error:0
bnxt:
KTAP version 1
1..7
ok 1 hds.get_hds
ok 2 hds.get_hds_thresh
ok 3 hds.set_hds_disable # SKIP disabling of HDS not supported by the device
ok 4 hds.set_hds_enable
ok 5 hds.set_hds_thresh_zero
ok 6 hds.set_hds_thresh_max
ok 7 hds.set_hds_thresh_gt
# Totals: pass:6 fail:0 xfail:0 xpass:0 skip:1 error:0
Jakub Kicinski (6):
net: move HDS config from ethtool state
net: provide pending ring configuration in net_device
eth: bnxt: apply hds_thrs settings correctly
net: ethtool: populate the default HDS params in the core
eth: bnxt: allocate enough buffer space to meet HDS threshold
eth: bnxt: update header sizing defaults
include/linux/ethtool.h | 4 ----
include/linux/netdevice.h | 9 ++++++++
include/net/netdev_queues.h | 10 +++++++++
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 16 +++++++++-----
.../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 4 ++--
drivers/net/netdevsim/ethtool.c | 6 +----
drivers/net/netdevsim/netdev.c | 10 ++++-----
net/core/dev.c | 12 ++++++++--
net/core/devmem.c | 4 ++--
net/ethtool/netlink.c | 22 ++++++++++++++++---
net/ethtool/rings.c | 16 +++++++++-----
11 files changed, 79 insertions(+), 34 deletions(-)
--
2.48.1
Powered by blists - more mailing lists