[PATCH net-next 0/5] net/mlx5: Convert mlx5 to netdev instance locking
flat view
STALE520d
LANDED
From: Tariq Toukan <tariqt@nvidia.com>
Date: 2025-05-21 12:10:04
Also in:
bpf, linux-rdma, lkml
Landed in mainline as 3ccf3f441f93 on 2025-05-22.
Hi, This series by Cosmin converts mlx5 to use the recently added netdev instance locking scheme. Find detailed description by Cosmin below [1]. Regards, Tariq [1] mlx5 manages multiple netdevices, from basic Ethernet to Infiniband netdevs. This patch series converts the driver to use netdev instance locking for everything in preparation for TCP devmem Zero Copy. Because mlx5 is tightly coupled with the ipoib driver, a series of changes first happen in ipoib to allow it to work with mlx5 netdevs that use instance locking: IB/IPoIB: Enqueue separate work_structs for each flushed interface IB/IPoIB: Replace vlan_rwsem with the netdev instance lock IB/IPoIB: Allow using netdevs that require the instance lock A small patch then avoids dropping RTNL during firmware update: net/mlx5e: Don't drop RTNL during firmware flash The main patch then converts all mlx5 netdevs to use instance locking: net/mlx5e: Convert mlx5 netdevs to instance locking Cosmin Ratiu (5): IB/IPoIB: Enqueue separate work_structs for each flushed interface IB/IPoIB: Replace vlan_rwsem with the netdev instance lock IB/IPoIB: Allow using netdevs that require the instance lock net/mlx5e: Don't drop RTNL during firmware flash net/mlx5e: Convert mlx5 netdevs to instance locking drivers/infiniband/ulp/ipoib/ipoib.h | 13 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 65 ++++++--- drivers/infiniband/ulp/ipoib/ipoib_main.c | 127 ++++++++++++------ drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 8 +- drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 19 +-- .../ethernet/mellanox/mlx5/core/en/health.c | 2 + .../net/ethernet/mellanox/mlx5/core/en/ptp.c | 25 +++- .../mellanox/mlx5/core/en/reporter_tx.c | 4 - .../net/ethernet/mellanox/mlx5/core/en/trap.c | 12 +- .../ethernet/mellanox/mlx5/core/en_dcbnl.c | 2 + .../ethernet/mellanox/mlx5/core/en_ethtool.c | 5 - .../net/ethernet/mellanox/mlx5/core/en_fs.c | 4 + .../net/ethernet/mellanox/mlx5/core/en_main.c | 82 ++++++----- .../net/ethernet/mellanox/mlx5/core/en_rep.c | 7 + .../ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 3 + 15 files changed, 246 insertions(+), 132 deletions(-) base-commit: f685204c57e87d2a88b159c7525426d70ee745c9 -- 2.31.1