From: Jakub Kicinski <kuba@kernel.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com,
jacob.e.keller@intel.com, jiri@resnulli.us,
Jakub Kicinski <kuba@kernel.org>
Subject: [PATCH net-next 0/9] devlink: remove the wait-for-references on unregister
Date: Thu, 5 Jan 2023 22:33:53 -0800 [thread overview]
Message-ID: <20230106063402.485336-1-kuba@kernel.org> (raw)
Move the registration and unregistration of the devlink instances
under their instance locks. Don't perform the netdev-style wait
for all references when unregistering the instance.
Instead the devlink instance refcount will only ensure that
the memory of the instance is not freed. All places which acquire
access to devlink instances via a reference must check that the
instance is still registered under the instance lock.
This fixes the problem of the netdev code accessing devlink
instances before they are registered.
RFC: https://lore.kernel.org/all/20221217011953.152487-1-kuba@kernel.org/
- rewrite the cover letter
- rewrite the commit message for patch 1
- un-export and rename devl_is_alive
- squash the netdevsim patches
Jakub Kicinski (9):
devlink: bump the instance index directly when iterating
devlink: update the code in netns move to latest helpers
devlink: protect devlink->dev by the instance lock
devlink: always check if the devlink instance is registered
devlink: remove the registration guarantee of references
devlink: don't require setting features before registration
devlink: allow registering parameters after the instance
netdevsim: rename a label
netdevsim: move devlink registration under the instance lock
drivers/net/netdevsim/dev.c | 15 +++--
include/net/devlink.h | 2 +
net/devlink/core.c | 121 ++++++++++++++++--------------------
net/devlink/devl_internal.h | 28 ++++-----
net/devlink/leftover.c | 64 ++++++++++++-------
net/devlink/netlink.c | 19 ++++--
6 files changed, 137 insertions(+), 112 deletions(-)
--
2.38.1
next reply other threads:[~2023-01-06 6:34 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-06 6:33 Jakub Kicinski [this message]
2023-01-06 6:33 ` [PATCH net-next 1/9] devlink: bump the instance index directly when iterating Jakub Kicinski
2023-01-06 12:17 ` Jiri Pirko
2023-01-06 6:33 ` [PATCH net-next 2/9] devlink: update the code in netns move to latest helpers Jakub Kicinski
2023-01-06 6:33 ` [PATCH net-next 3/9] devlink: protect devlink->dev by the instance lock Jakub Kicinski
2023-01-06 12:18 ` Jiri Pirko
2023-01-06 6:33 ` [PATCH net-next 4/9] devlink: always check if the devlink instance is registered Jakub Kicinski
2023-01-06 12:41 ` Jiri Pirko
2023-01-06 17:03 ` Jacob Keller
2023-01-06 21:19 ` Jakub Kicinski
2023-01-07 9:05 ` Jiri Pirko
2023-01-06 6:33 ` [PATCH net-next 5/9] devlink: remove the registration guarantee of references Jakub Kicinski
2023-01-06 12:42 ` Jiri Pirko
2023-01-06 6:33 ` [PATCH net-next 6/9] devlink: don't require setting features before registration Jakub Kicinski
2023-01-06 12:43 ` Jiri Pirko
2023-01-06 6:34 ` [PATCH net-next 7/9] devlink: allow registering parameters after the instance Jakub Kicinski
2023-01-06 12:55 ` Jiri Pirko
2023-01-06 21:22 ` Jakub Kicinski
2023-01-07 9:20 ` Jiri Pirko
2023-01-10 0:21 ` Jacob Keller
2023-01-10 16:35 ` Jiri Pirko
2023-01-10 20:22 ` Jakub Kicinski
2023-01-11 9:32 ` Jiri Pirko
2023-01-11 16:45 ` Jakub Kicinski
2023-01-11 21:29 ` Jacob Keller
2023-01-12 7:07 ` Leon Romanovsky
2023-01-12 14:59 ` Jiri Pirko
2023-01-12 19:58 ` Leon Romanovsky
2023-01-13 7:50 ` Jiri Pirko
2023-01-15 8:35 ` Leon Romanovsky
2023-01-16 10:33 ` Jiri Pirko
2023-01-16 11:25 ` Leon Romanovsky
2023-01-12 19:20 ` Jakub Kicinski
2023-01-12 20:09 ` Leon Romanovsky
2023-01-12 22:44 ` Jacob Keller
2023-01-13 6:45 ` Leon Romanovsky
2023-01-13 7:53 ` Jiri Pirko
2023-01-11 13:21 ` Jiri Pirko
2023-01-06 6:34 ` [PATCH net-next 8/9] netdevsim: rename a label Jakub Kicinski
2023-01-06 12:56 ` Jiri Pirko
2023-01-06 6:34 ` [PATCH net-next 9/9] netdevsim: move devlink registration under the instance lock Jakub Kicinski
2023-01-06 15:49 ` Jiri Pirko
2023-01-06 13:10 ` [PATCH net-next 0/9] devlink: remove the wait-for-references on unregister patchwork-bot+netdevbpf
2023-01-06 15:49 ` Jiri Pirko
2023-01-06 17:06 ` Jacob Keller
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=20230106063402.485336-1-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=jacob.e.keller@intel.com \
--cc=jiri@resnulli.us \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/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).