Subject: [PATCH net-next 0/9] mlx5 devlink mutex removal part 1

From: Saeed Mahameed <[email-masked]>
Date: Mon, 11 Jul 2022 01:13:59 -0700

From: Saeed Mahameed <[email-masked]>

Moshe Shemesh Says:
===================
1) Fix devlink lock in mlx5 devlink eswitch callbacks

Following the commit 14e426bf1a4d "devlink: hold the instance lock
during eswitch_mode callbacks" which takes devlink instance lock for all
devlink eswitch callbacks and adds a temporary workaround, this patchset
removes the workaround, replaces devlink API functions by devl_ API
where called from mlx5 driver eswitch callbacks flows and adds devlink
instance lock in other driver's path that leads to these functions.
While moving to devl_ API the patchset removes part of the devlink API
functions which mlx5 was the last one to use and so not used by any
driver now.

The patchset also remove DEVLINK_NL_FLAG_NO_LOCK flag from the callbacks
of port_new/port which are called only from mlx5 driver and the already
locked by the patchset as parallel paths to the eswitch callbacks using
devl_ API functions.

This patchset will be followed by another patchset that will remove
DEVLINK_NL_FLAG_NO_LOCK flag from devlink reload and devlink health
callbacks. Thus we will have all devlink callbacks locked and it will
pave the way to remove devlink mutex.
=================== 

Moshe Shemesh (9):
  net/mlx5: Remove devl_unlock from mlx5_eswtich_mode_callback_enter
  net/mlx5: Use devl_ API for rate nodes destroy
  devlink: Remove unused function devlink_rate_nodes_destroy
  net/mlx5: Use devl_ API in mlx5_esw_offloads_devlink_port_register
  net/mlx5: Use devl_ API in mlx5_esw_devlink_sf_port_register
  devlink: Remove unused functions devlink_rate_leaf_create/destroy
  net/mlx5: Use devl_ API in mlx5e_devlink_port_register
  net/mlx5: Remove devl_unlock from mlx5_devlink_eswitch_mode_set
  devlink: Hold the instance lock in port_new / port_del callbacks

 drivers/net/ethernet/mellanox/mlx5/core/dev.c | 29 +++++++-
 .../ethernet/mellanox/mlx5/core/en/devlink.c  | 16 ++++-
 .../mellanox/mlx5/core/esw/devlink_port.c     | 20 +++---
 .../net/ethernet/mellanox/mlx5/core/eswitch.c | 18 ++++-
 .../mellanox/mlx5/core/eswitch_offloads.c     | 57 +++++-----------
 include/linux/mlx5/driver.h                   |  4 ++
 include/net/devlink.h                         |  3 -
 net/core/devlink.c                            | 66 +++----------------
 8 files changed, 94 insertions(+), 119 deletions(-)

-- 
2.36.1