Skip to content

Allow parallel devlink execution

Leon Romanovsky lkml netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 6 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6devlink: Clean registration of devlink portnet/core/devlink.c+8 -150 replies
2/6devlink: Be explicit with devlink port protectionnet/core/devlink.c+22 -70 replies
3/6devlink: Add devlink nested locking primitivenet/core/devlink.c+88 -580 replies
4/6devlink: Require devlink lock during device reloadnet/core/devlink.c+5 -10 replies
5/6devlink: Use xarray locking mechanism instead big devlink locknet/core/devlink.c+119 -1300 replies
6/6devlink: Open devlink to parallel operationsnet/core/devlink.c+1 -00 replies

Reviews trailers per patch

None of the 6 patches has a Reviewed-by or Acked-by.

PatchIdo Schimmel
1/6T-b
2/6T-b
3/6T-b
4/6T-b
5/6T-b
6/6T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH net-next 0/6] Allow parallel devlink execution

From: Leon Romanovsky <[email protected]>

Hi,

This is final piece of devlink locking puzzle, where I remove global mutex lock (devlink_mutex), so we can run devlink commands in parallel.

The series starts with addition of port_list_lock, which is needed to prevent locking dependency between netdevsim sysfs and devlink. It follows by the patch that adds context aware locking primitives. Such primitives allow us to make sure that devlink instance is locked and stays locked even during reload operation. The last patches opens devlink to parallel commands.

It tested on mlx5, mlx4, mlxsw, netdevsim + Ido's syzkaller.

BTW, in the future patches, we will clean devlink from over-engineered APIs and implementations. It will open a venue to revise all the places that hold devlink lock, if they really need to do it.

Thanks

[1] https://lore.kernel.org/netdev/[email protected]/
[2] https://lore.kernel.org/netdev/9716f9a13e217a0a163b745b6e92e02d40973d2c.1635701665.git.leonro@nvidia.com/

Leon Romanovsky (6):
devlink: Clean registration of devlink port
devlink: Be explicit with devlink port protection
devlink: Add devlink nested locking primitive
devlink: Require devlink lock during device reload
devlink: Use xarray locking mechanism instead big devlink lock
devlink: Open devlink to parallel operations

 net/core/devlink.c | 432 ++++++++++++++++++++++++---------------------
 1 file changed, 232 insertions(+), 200 deletions(-)
Signature · 1 line
2.33.1