[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230209154308.2984602-1-jiri@resnulli.us>
Date: Thu, 9 Feb 2023 16:43:01 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com,
edumazet@...gle.com, tariqt@...dia.com, saeedm@...dia.com,
jacob.e.keller@...el.com, gal@...dia.com, kim.phillips@....com,
moshe@...dia.com
Subject: [patch net-next 0/7] devlink: params cleanups and devl_param_driverinit_value_get() fix
From: Jiri Pirko <jiri@...dia.com>
The primary motivation of this patchset is the patch #6, which fixes an
issue introduced by 075935f0ae0f ("devlink: protect devlink param list
by instance lock") and reported by Kim Phillips <kim.phillips@....com>
(https://lore.kernel.org/netdev/719de4f0-76ac-e8b9-38a9-167ae239efc7@amd.com/)
and my colleagues doing mlx5 driver regression testing.
The basis idea is that devl_param_driverinit_value_get() could be
possible to the called without holding devlink intance lock in
most of the cases (all existing ones in the current codebase),
which would fix some mlx5 flows where the lock is not held.
To achieve that, make sure that the param value does not change between
reloads with patch #2.
Also, convert the param list to xarray which removes the worry about
list_head consistency when doing lockless lookup.
The rest of the patches are doing some small related cleanup of things
that poke me in the eye during the work.
Jiri Pirko (7):
devlink: don't use strcpy() to copy param value
devlink: make sure driver does not read updated driverinit param
before reload
devlink: fix the name of value arg of
devl_param_driverinit_value_get()
devlink: use xa_for_each_start() helper in
devlink_nl_cmd_port_get_dump_one()
devlink: convert param list to xarray
devlink: allow to call devl_param_driverinit_value_get() without
holding instance lock
devlink: add forgotten devlink instance lock assertion to
devl_param_driverinit_value_set()
include/net/devlink.h | 6 +-
net/devlink/core.c | 4 +-
net/devlink/dev.c | 2 +
net/devlink/devl_internal.h | 5 +-
net/devlink/leftover.c | 139 ++++++++++++++++++++----------------
5 files changed, 90 insertions(+), 66 deletions(-)
--
2.39.0
Powered by blists - more mailing lists