Merge branch 'net-mlx5-convert-mlx5-to-netdev-instance-locking'
authorJakub Kicinski <kuba@kernel.org>
Thu, 22 May 2025 16:15:07 +0000 (09:15 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 22 May 2025 16:15:07 +0000 (09:15 -0700)
commit3ccf3f441f93f18edbd482d2ef606e5153c5542c
treee5a890aee3da6824345fee719e443689f815e26e
parentdb807e5ef8eea6948bb4993466623046f52d3056
parent8f7b00307bf14676b7e7f0210110a36aa0ff3e93
Merge branch 'net-mlx5-convert-mlx5-to-netdev-instance-locking'

Tariq Toukan says:

====================
net/mlx5: Convert mlx5 to netdev instance locking

Cosmin Ratiu says:

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
====================

Link: https://patch.msgid.link/1747829342-1018757-1-git-send-email-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>