[PATCH net-next 0/6] Allow parallel devlink execution
From: Leon Romanovsky <leon@kernel.org>
Date: 2021-12-05 08:22:16
Also in:
lkml
From: Leon Romanovsky <leonro@nvidia.com> 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/cover.1636390483.git.leonro@nvidia.com/ (local) [2] https://lore.kernel.org/netdev/9716f9a13e217a0a163b745b6e92e02d40973d2c.1635701665.git.leonro@nvidia.com/ (local) 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(-) -- 2.33.1