Commit a0e13dfd authored by Jakub Kicinski's avatar Jakub Kicinski

devlink: health: combine loops in dump

Walk devlink instances only once. Dump the instance reporters
and port reporters before moving to the next instance.
User space should not depend on ordering of messages.

This will make improving stability of the walk easier.
Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 8861c093
...@@ -7940,10 +7940,7 @@ devlink_nl_cmd_health_reporter_get_dumpit(struct sk_buff *msg, ...@@ -7940,10 +7940,7 @@ devlink_nl_cmd_health_reporter_get_dumpit(struct sk_buff *msg,
idx++; idx++;
} }
mutex_unlock(&devlink->reporters_lock); mutex_unlock(&devlink->reporters_lock);
devlink_put(devlink);
}
devlinks_xa_for_each_registered_get(sock_net(msg->sk), index, devlink) {
devl_lock(devlink); devl_lock(devlink);
xa_for_each(&devlink->ports, port_index, port) { xa_for_each(&devlink->ports, port_index, port) {
mutex_lock(&port->reporters_lock); mutex_lock(&port->reporters_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment