[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211117204956.6a36963b@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
Date: Wed, 17 Nov 2021 20:49:56 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Leon Romanovsky <leon@...nel.org>
Cc: "David S . Miller" <davem@...emloft.net>,
Leon Romanovsky <leonro@...dia.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Andrew Lunn <andrew@...n.ch>, Aya Levin <ayal@...lanox.com>,
Claudiu Manoil <claudiu.manoil@....com>, drivers@...sando.io,
Florian Fainelli <f.fainelli@...il.com>,
Ido Schimmel <idosch@...dia.com>,
intel-wired-lan@...ts.osuosl.org,
Ioana Ciornei <ioana.ciornei@....com>,
Jesse Brandeburg <jesse.brandeburg@...el.com>,
Jiri Pirko <jiri@...dia.com>, linux-kernel@...r.kernel.org,
linux-rdma@...r.kernel.org,
Michael Chan <michael.chan@...adcom.com>,
netdev@...r.kernel.org, oss-drivers@...igine.com,
Saeed Mahameed <saeedm@...dia.com>,
Shannon Nelson <snelson@...sando.io>,
Simon Horman <simon.horman@...igine.com>,
Taras Chornyi <tchornyi@...vell.com>,
Tariq Toukan <tariqt@...dia.com>,
Tony Nguyen <anthony.l.nguyen@...el.com>,
UNGLinuxDriver@...rochip.com,
Vivien Didelot <vivien.didelot@...il.com>,
Vladimir Oltean <vladimir.oltean@....com>
Subject: Re: [PATCH net-next 5/6] devlink: Reshuffle resource registration
logic
On Wed, 17 Nov 2021 20:26:21 +0200 Leon Romanovsky wrote:
> - top_hierarchy = parent_resource_id == DEVLINK_RESOURCE_ID_PARENT_TOP;
> -
> - mutex_lock(&devlink->lock);
> - resource = devlink_resource_find(devlink, NULL, resource_id);
> - if (resource) {
> - err = -EINVAL;
> - goto out;
> - }
> + WARN_ON(devlink_resource_find(devlink, NULL, resource_id));
This is not atomic with the add now.
> resource = kzalloc(sizeof(*resource), GFP_KERNEL);
> if (!resource) {
> @@ -9851,7 +9843,17 @@ int devlink_resource_register(struct devlink *devlink,
> goto out;
> }
>
> - if (top_hierarchy) {
> + resource->name = resource_name;
> + resource->size = resource_size;
> + resource->size_new = resource_size;
> + resource->id = resource_id;
> + resource->size_valid = true;
> + memcpy(&resource->size_params, size_params,
> + sizeof(resource->size_params));
> + INIT_LIST_HEAD(&resource->resource_list);
> +
> + mutex_lock(&devlink->lock);
Powered by blists - more mailing lists