Skip to content

Commit

Permalink
Merge branch 'devlink-small-improvements'
Browse files Browse the repository at this point in the history
Parav Pandit says:

====================
devlink small improvements

This short series improves the devlink code for lock commment,
simplifying checks and keeping the scope of mutex lock for necessary
fields.

Patch summary:
Patch-1 Keep the devlink_mutex for only for necessary changes.
Patch-2 Avoids duplicate check for reload flag
Patch-3 Adds missing comment for the scope of devlink instance lock
Patch-4 Constify devlink instance pointer
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Jul 21, 2020
2 parents 3fc364c + eac5f8a commit 1fe4085
Showing 2 changed files with 6 additions and 4 deletions.
4 changes: 3 additions & 1 deletion include/net/devlink.h
Original file line number Diff line number Diff line change
@@ -40,7 +40,9 @@ struct devlink {
struct xarray snapshot_ids;
struct device *dev;
possible_net_t _net;
struct mutex lock;
struct mutex lock; /* Serializes access to devlink instance specific objects such as
* port, sb, dpipe, resource, params, region, traps and more.
*/
u8 reload_failed:1,
reload_enabled:1,
registered:1;
6 changes: 3 additions & 3 deletions net/core/devlink.c
Original file line number Diff line number Diff line change
@@ -2921,7 +2921,7 @@ static void devlink_reload_netns_change(struct devlink *devlink,
DEVLINK_CMD_PARAM_NEW);
}

static bool devlink_reload_supported(struct devlink *devlink)
static bool devlink_reload_supported(const struct devlink *devlink)
{
return devlink->ops->reload_down && devlink->ops->reload_up;
}
@@ -2967,7 +2967,7 @@ static int devlink_nl_cmd_reload(struct sk_buff *skb, struct genl_info *info)
struct net *dest_net = NULL;
int err;

if (!devlink_reload_supported(devlink) || !devlink->reload_enabled)
if (!devlink_reload_supported(devlink))
return -EOPNOTSUPP;

err = devlink_resources_validate(devlink, NULL, info);
@@ -7421,9 +7421,9 @@ EXPORT_SYMBOL_GPL(devlink_alloc);
*/
int devlink_register(struct devlink *devlink, struct device *dev)
{
mutex_lock(&devlink_mutex);
devlink->dev = dev;
devlink->registered = true;
mutex_lock(&devlink_mutex);
list_add_tail(&devlink->list, &devlink_list);
devlink_notify(devlink, DEVLINK_CMD_NEW);
mutex_unlock(&devlink_mutex);

0 comments on commit 1fe4085

Please sign in to comment.