From: <edward.cree@amd.com>
To: <linux-net-drivers@amd.com>, <davem@davemloft.net>,
<kuba@kernel.org>, <edumazet@google.com>, <pabeni@redhat.com>
Cc: Edward Cree <ecree.xilinx@gmail.com>, <netdev@vger.kernel.org>,
<habetsm.xilinx@gmail.com>, <sudheer.mogilappagari@intel.com>,
<jdamato@fastly.com>, <mw@semihalf.com>, <linux@armlinux.org.uk>,
<sgoutham@marvell.com>, <gakula@marvell.com>,
<sbhatta@marvell.com>, <hkelam@marvell.com>, <saeedm@nvidia.com>,
<leon@kernel.org>, <jacob.e.keller@intel.com>, <andrew@lunn.ch>,
<ahmed.zaki@intel.com>, <horms@kernel.org>
Subject: [PATCH v8 net-next 0/9] ethtool: track custom RSS contexts in the core
Date: Thu, 27 Jun 2024 16:33:45 +0100 [thread overview]
Message-ID: <cover.1719502239.git.ecree.xilinx@gmail.com> (raw)
From: Edward Cree <ecree.xilinx@gmail.com>
Make the core responsible for tracking the set of custom RSS contexts,
their IDs, indirection tables, hash keys, and hash functions; this
lets us get rid of duplicative code in drivers, and will allow us to
support netlink dumps later.
This series only moves the sfc EF10 & EF100 driver over to the new API;
other drivers (mvpp2, octeontx2, mlx5, sfc/siena, bnxt_en) can be converted
afterwards and the legacy API removed.
Changes in v8:
* use struct_size_t in patch 3 (Przemek)
Changes in v7:
* ensure 'ret' is initialised in ethtool_get_rxfh (horms)
Changes in v6:
* fixed kdoc for renamed fields
* always call setter in netdev_rss_contexts_free()
* document that 'create' method should populate ctx for driver-chosen defaults
* on 'ethtool -x', get info from the tracking xarray rather than calling the
driver's get_rxfh method. This makes it easier to test that the tracking is
correct, in the absence of future code like netlink dumps to use it.
Changes in v5:
* Rebased on top of Ahmed Zaki's struct ethtool_rxfh_param API
* Moved rxfh_max_context_id to the ethtool ops struct
Changes in v4:
* replaced IDR with XArray
* grouped initialisations together in patch 6
* dropped RFC tags
Changes in v3:
* Added WangXun ngbe to patch #1, not sure if they've added WoL support since
v2 or if I just missed it last time around
* Re-ordered struct ethtool_netdev_state to avoid hole (Andrew Lunn)
* Fixed some resource leaks in error handling paths (kuba)
* Added maintainers of other context-using drivers to CC
Edward Cree (9):
net: move ethtool-related netdev state into its own struct
net: ethtool: attach an XArray of custom RSS contexts to a netdevice
net: ethtool: record custom RSS contexts in the XArray
net: ethtool: let the core choose RSS context IDs
net: ethtool: add an extack parameter to new rxfh_context APIs
net: ethtool: add a mutex protecting RSS contexts
sfc: use new rxfh_context API
net: ethtool: use the tracking array for get_rxfh on custom RSS
contexts
sfc: remove get_rxfh_context dead code
drivers/net/ethernet/realtek/r8169_main.c | 4 +-
drivers/net/ethernet/sfc/ef10.c | 2 +-
drivers/net/ethernet/sfc/ef100_ethtool.c | 4 +
drivers/net/ethernet/sfc/efx.c | 2 +-
drivers/net/ethernet/sfc/efx.h | 2 +-
drivers/net/ethernet/sfc/efx_common.c | 10 +-
drivers/net/ethernet/sfc/ethtool.c | 4 +
drivers/net/ethernet/sfc/ethtool_common.c | 168 ++++++++----------
drivers/net/ethernet/sfc/ethtool_common.h | 12 ++
drivers/net/ethernet/sfc/mcdi_filters.c | 135 +++++++-------
drivers/net/ethernet/sfc/mcdi_filters.h | 8 +-
drivers/net/ethernet/sfc/net_driver.h | 28 +--
drivers/net/ethernet/sfc/rx_common.c | 64 ++-----
drivers/net/ethernet/sfc/rx_common.h | 8 +-
.../net/ethernet/wangxun/ngbe/ngbe_ethtool.c | 4 +-
drivers/net/ethernet/wangxun/ngbe/ngbe_main.c | 2 +-
drivers/net/phy/phy.c | 2 +-
drivers/net/phy/phy_device.c | 5 +-
drivers/net/phy/phylink.c | 2 +-
include/linux/ethtool.h | 110 ++++++++++++
include/linux/netdevice.h | 7 +-
net/core/dev.c | 40 +++++
net/ethtool/ioctl.c | 136 +++++++++++++-
net/ethtool/wol.c | 2 +-
24 files changed, 496 insertions(+), 265 deletions(-)
next reply other threads:[~2024-06-27 15:34 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-27 15:33 edward.cree [this message]
2024-06-27 15:33 ` [PATCH v8 net-next 1/9] net: move ethtool-related netdev state into its own struct edward.cree
2024-06-27 15:33 ` [PATCH v8 net-next 2/9] net: ethtool: attach an XArray of custom RSS contexts to a netdevice edward.cree
2024-06-27 15:33 ` [PATCH v8 net-next 3/9] net: ethtool: record custom RSS contexts in the XArray edward.cree
2024-06-27 15:33 ` [PATCH v8 net-next 4/9] net: ethtool: let the core choose RSS context IDs edward.cree
2024-06-27 15:33 ` [PATCH v8 net-next 5/9] net: ethtool: add an extack parameter to new rxfh_context APIs edward.cree
2024-06-27 15:33 ` [PATCH v8 net-next 6/9] net: ethtool: add a mutex protecting RSS contexts edward.cree
2024-06-27 15:33 ` [PATCH v8 net-next 7/9] sfc: use new rxfh_context API edward.cree
2024-06-27 15:33 ` [PATCH v8 net-next 8/9] net: ethtool: use the tracking array for get_rxfh on custom RSS contexts edward.cree
2024-06-27 15:33 ` [PATCH v8 net-next 9/9] sfc: remove get_rxfh_context dead code edward.cree
2024-06-28 12:19 ` [PATCH v8 net-next 0/9] ethtool: track custom RSS contexts in the core Przemek Kitszel
2024-06-29 2:20 ` patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1719502239.git.ecree.xilinx@gmail.com \
--to=edward.cree@amd.com \
--cc=ahmed.zaki@intel.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=ecree.xilinx@gmail.com \
--cc=edumazet@google.com \
--cc=gakula@marvell.com \
--cc=habetsm.xilinx@gmail.com \
--cc=hkelam@marvell.com \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=jdamato@fastly.com \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=linux-net-drivers@amd.com \
--cc=linux@armlinux.org.uk \
--cc=mw@semihalf.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=sbhatta@marvell.com \
--cc=sgoutham@marvell.com \
--cc=sudheer.mogilappagari@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.