netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch net-next RFC 0/2] net: devlink: remove devlink big lock
@ 2022-06-27 13:54 Jiri Pirko
  2022-06-27 13:55 ` [patch net-next RFC 1/2] net: devlink: make sure that devlink_try_get() works with valid pointer during xarray iteration Jiri Pirko
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Jiri Pirko @ 2022-06-27 13:54 UTC (permalink / raw)
  To: netdev; +Cc: davem, kuba, idosch, petrm, pabeni, edumazet, mlxsw, saeedm

From: Jiri Pirko <jiri@nvidia.com>

This is an attempt to remove use of devlink_mutex. This is a global lock
taken for every user command. That causes that long operations performed
on one devlink instance (like flash update) are blocking other
operations on different instances.

The first patch makes sure that the xarray that holds devlink pointers
is possible to be safely iterated.

The second patch moves the user command mutex to be per-devlink.

Jiri Pirko (2):
  net: devlink: make sure that devlink_try_get() works with valid
    pointer during xarray iteration
  net: devlink: replace devlink_mutex by per-devlink lock

 net/core/devlink.c | 256 ++++++++++++++++++++++++++++-----------------
 1 file changed, 161 insertions(+), 95 deletions(-)

-- 
2.35.3


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

end of thread, other threads:[~2022-06-29 11:47 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-27 13:54 [patch net-next RFC 0/2] net: devlink: remove devlink big lock Jiri Pirko
2022-06-27 13:55 ` [patch net-next RFC 1/2] net: devlink: make sure that devlink_try_get() works with valid pointer during xarray iteration Jiri Pirko
2022-06-27 13:55 ` [patch net-next RFC 2/2] net: devlink: replace devlink_mutex by per-devlink lock Jiri Pirko
2022-06-27 15:41 ` [patch net-next RFC 0/2] net: devlink: remove devlink big lock Ido Schimmel
2022-06-27 15:55   ` Jiri Pirko
2022-06-28  7:43     ` Ido Schimmel
2022-06-29 10:25       ` Jiri Pirko
2022-06-29 10:36         ` Jiri Pirko
2022-06-29 11:30           ` Ido Schimmel
2022-06-29 11:47             ` Jiri Pirko
2022-06-27 17:49   ` Jakub Kicinski
2022-06-28  6:32     ` Jiri Pirko
2022-06-28  7:04       ` Jiri Pirko

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).