netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/5] devlink: hold the instance lock in eswitch callbacks
@ 2022-03-18 19:23 Jakub Kicinski
  2022-03-18 19:23 ` [PATCH net-next v2 1/5] bnxt: use the devlink instance lock to protect sriov Jakub Kicinski
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Jakub Kicinski @ 2022-03-18 19:23 UTC (permalink / raw)
  To: davem
  Cc: netdev, jiri, leonro, saeedm, idosch, michael.chan, simon.horman,
	Jakub Kicinski

Series number 2 in the effort to hold the devlink instance lock
in call driver callbacks. We have the following drivers using
this API:

 - bnxt, nfp, netdevsim - their own locking is removed / simplified
   by this series; all of them needed a lock to protect from changes
   to the number of VFs while switching modes, now the VF config bus
   callback takes the devlink instance lock via devl_lock();
 - ice - appears not to allow changing modes while SR-IOV enabled,
   so nothing to do there;
 - liquidio - does not contain any locking;
 - octeontx2/af - is very special but at least doesn't have locking
   so doesn't get in the way either;
 - mlx5 has a wealth of locks - I chickened out and dropped the lock
   in the callbacks so that I can leave the driver be, for now.

The last one is obviously not ideal, but I would prefer to transition
the API already as it make take longer.

v2: use a wrapper in mlx5 and extend the comment

Jakub Kicinski (5):
  bnxt: use the devlink instance lock to protect sriov
  devlink: add explicitly locked flavor of the rate node APIs
  netdevsim: replace port_list_lock with devlink instance lock
  netdevsim: replace vfs_lock with devlink instance lock
  devlink: hold the instance lock during eswitch_mode callbacks

 drivers/net/ethernet/broadcom/bnxt/bnxt.c     |  1 -
 drivers/net/ethernet/broadcom/bnxt/bnxt.h     |  6 --
 .../net/ethernet/broadcom/bnxt/bnxt_sriov.c   |  4 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 22 ++---
 .../mellanox/mlx5/core/eswitch_offloads.c     | 54 ++++++++---
 .../net/ethernet/netronome/nfp/nfp_devlink.c  |  7 +-
 drivers/net/netdevsim/dev.c                   | 85 +++++++++---------
 drivers/net/netdevsim/netdevsim.h             |  2 -
 include/net/devlink.h                         |  4 +
 net/core/devlink.c                            | 90 ++++++++++++-------
 10 files changed, 156 insertions(+), 119 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-03-21 16:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-18 19:23 [PATCH net-next v2 0/5] devlink: hold the instance lock in eswitch callbacks Jakub Kicinski
2022-03-18 19:23 ` [PATCH net-next v2 1/5] bnxt: use the devlink instance lock to protect sriov Jakub Kicinski
2022-03-18 19:23 ` [PATCH net-next v2 2/5] devlink: add explicitly locked flavor of the rate node APIs Jakub Kicinski
2022-03-18 19:23 ` [PATCH net-next v2 3/5] netdevsim: replace port_list_lock with devlink instance lock Jakub Kicinski
2022-03-18 19:23 ` [PATCH net-next v2 4/5] netdevsim: replace vfs_lock " Jakub Kicinski
2022-03-18 19:23 ` [PATCH net-next v2 5/5] devlink: hold the instance lock during eswitch_mode callbacks Jakub Kicinski
2022-03-21 16:50 ` [PATCH net-next v2 0/5] devlink: hold the instance lock in eswitch callbacks patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).