From: Leon Romanovsky <leon@kernel.org>
To: "David S . Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>
Cc: Leon Romanovsky <leonro@nvidia.com>,
Ido Schimmel <idosch@nvidia.com>, Jiri Pirko <jiri@nvidia.com>,
netdev <netdev@vger.kernel.org>
Subject: [RFC PATCH 00/16] Allow parallel devlink execution
Date: Mon, 8 Nov 2021 19:05:22 +0200 [thread overview]
Message-ID: <cover.1636390483.git.leonro@nvidia.com> (raw)
From: Leon Romanovsky <leonro@nvidia.com>
Jakub, this is RFC, not fully tested and not reviewed yet.
I'm sending it to show that first we need to fix internal devlink
locking before even thinking of exporting it to the drivers.
-------------------------------------------------------------------
Hi,
This is final piece of devlink locking puzzle, where I remove global
mutex lock (devlink_mutex) and reduce scope of devlink->lock. The last
change allows us to make sure that devlink commands are called while
devlink_reload is executed and protected at the same time.
All of the changes mentioned above are limited to devlink.c without any
need to update drivers or expose internal details of devlink implementation.
The diffstat is misleading here, because of initial cleanup of overly
engineered interfaces.
BTW, I have one extra patch that documents devlink locking.
Thanks
Leon Romanovsky (16):
devlink: Remove misleading internal_flags from health reporter dump
devlink: Delete useless checks of holding devlink lock
devlink: Simplify devlink resources unregister call
devlink: Clean registration of devlink port
devlink: Be explicit with devlink port protection
devlink: Reshuffle resource registration logic
devlink: Inline sb related functions
devlink: Protect resource list with specific lock
devlink: Protect all traps lists with specialized lock
devlink: Separate region list protection to be done with specialized
lock
devlink: Protect all rate operations with specialized lock
devlink: Protect all sb operations with specialized lock
devlink: Convert dpipe to use dpipe_lock
devlink: Require devlink lock during device reload
devlink: Use xarray locking mechanism instead big devlink lock
devlink: Open devlink to parallel operations
.../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 7 +-
.../freescale/dpaa2/dpaa2-eth-devlink.c | 7 +-
drivers/net/ethernet/intel/ice/ice_devlink.c | 18 +-
.../marvell/prestera/prestera_devlink.c | 7 +-
drivers/net/ethernet/mellanox/mlx4/main.c | 4 +-
.../ethernet/mellanox/mlx5/core/en/devlink.c | 5 +-
.../ethernet/mellanox/mlx5/core/en/devlink.h | 2 +-
.../net/ethernet/mellanox/mlx5/core/en_main.c | 7 +-
.../mellanox/mlx5/core/esw/devlink_port.c | 9 +-
drivers/net/ethernet/mellanox/mlxsw/core.c | 15 +-
.../net/ethernet/mellanox/mlxsw/spectrum.c | 4 +-
drivers/net/ethernet/mscc/ocelot_net.c | 4 +-
.../net/ethernet/netronome/nfp/nfp_devlink.c | 4 +-
.../ethernet/pensando/ionic/ionic_devlink.c | 8 +-
drivers/net/ethernet/ti/am65-cpsw-nuss.c | 14 +-
drivers/net/netdevsim/dev.c | 11 +-
include/net/devlink.h | 9 +-
net/core/devlink.c | 938 ++++++++++--------
net/dsa/dsa.c | 2 +-
net/dsa/dsa2.c | 9 +-
20 files changed, 561 insertions(+), 523 deletions(-)
--
2.33.1
next reply other threads:[~2021-11-08 17:05 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-08 17:05 Leon Romanovsky [this message]
2021-11-08 17:05 ` [RFC PATCH 01/16] devlink: Remove misleading internal_flags from health reporter dump Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 02/16] devlink: Delete useless checks of holding devlink lock Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 03/16] devlink: Simplify devlink resources unregister call Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 04/16] devlink: Clean registration of devlink port Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 05/16] devlink: Be explicit with devlink port protection Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 06/16] devlink: Reshuffle resource registration logic Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 07/16] devlink: Inline sb related functions Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 08/16] devlink: Protect resource list with specific lock Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 09/16] devlink: Protect all traps lists with specialized lock Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 10/16] devlink: Separate region list protection to be done " Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 11/16] devlink: Protect all rate operations " Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 12/16] devlink: Protect all sb " Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 13/16] devlink: Convert dpipe to use dpipe_lock Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 14/16] devlink: Require devlink lock during device reload Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 15/16] devlink: Use xarray locking mechanism instead big devlink lock Leon Romanovsky
2021-11-08 17:05 ` [RFC PATCH 16/16] devlink: Open devlink to parallel operations Leon Romanovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1636390483.git.leonro@nvidia.com \
--to=leon@kernel.org \
--cc=davem@davemloft.net \
--cc=idosch@nvidia.com \
--cc=jiri@nvidia.com \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).