* [PATCH v1 0/7] devlink: minor cleanup
@ 2024-10-18 10:18 Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 1/7] devlink: introduce devlink_nl_put_u64() Przemek Kitszel
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Przemek Kitszel @ 2024-10-18 10:18 UTC (permalink / raw)
To: netdev
Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik,
Przemek Kitszel
(Patch 1, 2) Add one helper shortcut to put u64 values into skb.
(Patch 3, 4) Minor cleanup for error codes.
(Patch 5, 6, 7) Remove some devlink_resource_*() usage and functions
itself via replacing devlink_* variants by devl_* ones.
Przemek Kitszel (7):
devlink: introduce devlink_nl_put_u64()
devlink: use devlink_nl_put_u64() helper
devlink: devl_resource_register(): differentiate error codes
devlink: region: snapshot IDs: consolidate error values
net: dsa: replace devlink resource registration calls by devl_
variants
devlink: remove unused devlink_resource_occ_get_register() and
_unregister()
devlink: remove unused devlink_resource_register()
include/net/devlink.h | 13 -----
net/devlink/devl_internal.h | 5 ++
net/devlink/dev.c | 12 ++---
net/devlink/dpipe.c | 18 +++----
net/devlink/health.c | 25 ++++-----
net/devlink/rate.c | 8 +--
net/devlink/region.c | 15 +++---
net/devlink/resource.c | 101 +++++-------------------------------
net/devlink/trap.c | 34 +++++-------
net/dsa/devlink.c | 23 +++++---
10 files changed, 83 insertions(+), 171 deletions(-)
base-commit: f87a17ed3b51fba4dfdd8f8b643b5423a85fc551
--
2.46.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v1 1/7] devlink: introduce devlink_nl_put_u64()
2024-10-18 10:18 [PATCH v1 0/7] devlink: minor cleanup Przemek Kitszel
@ 2024-10-18 10:18 ` Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 2/7] devlink: use devlink_nl_put_u64() helper Przemek Kitszel
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Przemek Kitszel @ 2024-10-18 10:18 UTC (permalink / raw)
To: netdev
Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik,
Przemek Kitszel, Wojciech Drewek
Add devlink_nl_put_u64() that abstracts padding for u64 values.
All u64 values are passed with the very same padding option.
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
---
net/devlink/devl_internal.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/net/devlink/devl_internal.h b/net/devlink/devl_internal.h
index a9f064ab9ed9..14eaad9cfe35 100644
--- a/net/devlink/devl_internal.h
+++ b/net/devlink/devl_internal.h
@@ -181,6 +181,11 @@ devlink_nl_put_handle(struct sk_buff *msg, struct devlink *devlink)
return 0;
}
+static inline int devlink_nl_put_u64(struct sk_buff *msg, int attrtype, u64 val)
+{
+ return nla_put_u64_64bit(msg, attrtype, val, DEVLINK_ATTR_PAD);
+}
+
int devlink_nl_put_nested_handle(struct sk_buff *msg, struct net *net,
struct devlink *devlink, int attrtype);
int devlink_nl_msg_reply_and_new(struct sk_buff **msg, struct genl_info *info);
--
2.46.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v1 2/7] devlink: use devlink_nl_put_u64() helper
2024-10-18 10:18 [PATCH v1 0/7] devlink: minor cleanup Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 1/7] devlink: introduce devlink_nl_put_u64() Przemek Kitszel
@ 2024-10-18 10:18 ` Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 3/7] devlink: devl_resource_register(): differentiate error codes Przemek Kitszel
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Przemek Kitszel @ 2024-10-18 10:18 UTC (permalink / raw)
To: netdev
Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik,
Przemek Kitszel, Wojciech Drewek
Use devlink_nl_put_u64() shortcut added by prev commit on all devlink/.
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
---
net/devlink/dev.c | 12 ++++++------
net/devlink/dpipe.c | 18 ++++++++----------
net/devlink/health.c | 25 +++++++++++--------------
net/devlink/rate.c | 8 ++++----
net/devlink/region.c | 11 ++++-------
net/devlink/resource.c | 27 ++++++++++++---------------
net/devlink/trap.c | 34 ++++++++++++++--------------------
7 files changed, 59 insertions(+), 76 deletions(-)
diff --git a/net/devlink/dev.c b/net/devlink/dev.c
index 13c73f50da3d..9264bbc90d0c 100644
--- a/net/devlink/dev.c
+++ b/net/devlink/dev.c
@@ -971,14 +971,14 @@ static int devlink_nl_flash_update_fill(struct sk_buff *msg,
nla_put_string(msg, DEVLINK_ATTR_FLASH_UPDATE_COMPONENT,
params->component))
goto nla_put_failure;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE,
- params->done, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE,
+ params->done))
goto nla_put_failure;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL,
- params->total, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL,
+ params->total))
goto nla_put_failure;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT,
- params->timeout, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT,
+ params->timeout))
goto nla_put_failure;
out:
diff --git a/net/devlink/dpipe.c b/net/devlink/dpipe.c
index 55009b377447..e55701b007f0 100644
--- a/net/devlink/dpipe.c
+++ b/net/devlink/dpipe.c
@@ -165,18 +165,17 @@ static int devlink_dpipe_table_put(struct sk_buff *skb,
return -EMSGSIZE;
if (nla_put_string(skb, DEVLINK_ATTR_DPIPE_TABLE_NAME, table->name) ||
- nla_put_u64_64bit(skb, DEVLINK_ATTR_DPIPE_TABLE_SIZE, table_size,
- DEVLINK_ATTR_PAD))
+ devlink_nl_put_u64(skb, DEVLINK_ATTR_DPIPE_TABLE_SIZE, table_size))
goto nla_put_failure;
if (nla_put_u8(skb, DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED,
table->counters_enabled))
goto nla_put_failure;
if (table->resource_valid) {
- if (nla_put_u64_64bit(skb, DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID,
- table->resource_id, DEVLINK_ATTR_PAD) ||
- nla_put_u64_64bit(skb, DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS,
- table->resource_units, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(skb, DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID,
+ table->resource_id) ||
+ devlink_nl_put_u64(skb, DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS,
+ table->resource_units))
goto nla_put_failure;
}
if (devlink_dpipe_matches_put(table, skb))
@@ -403,12 +402,11 @@ static int devlink_dpipe_entry_put(struct sk_buff *skb,
if (!entry_attr)
return -EMSGSIZE;
- if (nla_put_u64_64bit(skb, DEVLINK_ATTR_DPIPE_ENTRY_INDEX, entry->index,
- DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(skb, DEVLINK_ATTR_DPIPE_ENTRY_INDEX, entry->index))
goto nla_put_failure;
if (entry->counter_valid)
- if (nla_put_u64_64bit(skb, DEVLINK_ATTR_DPIPE_ENTRY_COUNTER,
- entry->counter, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(skb, DEVLINK_ATTR_DPIPE_ENTRY_COUNTER,
+ entry->counter))
goto nla_put_failure;
matches_attr = nla_nest_start_noflag(skb,
diff --git a/net/devlink/health.c b/net/devlink/health.c
index acb8c0e174bb..b8d3084e6fe0 100644
--- a/net/devlink/health.c
+++ b/net/devlink/health.c
@@ -287,29 +287,27 @@ devlink_nl_health_reporter_fill(struct sk_buff *msg,
if (nla_put_u8(msg, DEVLINK_ATTR_HEALTH_REPORTER_STATE,
reporter->health_state))
goto reporter_nest_cancel;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT,
- reporter->error_count, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT,
+ reporter->error_count))
goto reporter_nest_cancel;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT,
- reporter->recovery_count, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT,
+ reporter->recovery_count))
goto reporter_nest_cancel;
if (reporter->ops->recover &&
- nla_put_u64_64bit(msg, DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD,
- reporter->graceful_period,
- DEVLINK_ATTR_PAD))
+ devlink_nl_put_u64(msg, DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD,
+ reporter->graceful_period))
goto reporter_nest_cancel;
if (reporter->ops->recover &&
nla_put_u8(msg, DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER,
reporter->auto_recover))
goto reporter_nest_cancel;
if (reporter->dump_fmsg &&
- nla_put_u64_64bit(msg, DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS,
- jiffies_to_msecs(reporter->dump_ts),
- DEVLINK_ATTR_PAD))
+ devlink_nl_put_u64(msg, DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS,
+ jiffies_to_msecs(reporter->dump_ts)))
goto reporter_nest_cancel;
if (reporter->dump_fmsg &&
- nla_put_u64_64bit(msg, DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS,
- reporter->dump_real_ts, DEVLINK_ATTR_PAD))
+ devlink_nl_put_u64(msg, DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS,
+ reporter->dump_real_ts))
goto reporter_nest_cancel;
if (reporter->ops->dump &&
nla_put_u8(msg, DEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP,
@@ -963,8 +961,7 @@ devlink_fmsg_item_fill_data(struct devlink_fmsg_item *msg, struct sk_buff *skb)
case NLA_U32:
return nla_put_u32(skb, attrtype, *(u32 *)msg->value);
case NLA_U64:
- return nla_put_u64_64bit(skb, attrtype, *(u64 *)msg->value,
- DEVLINK_ATTR_PAD);
+ return devlink_nl_put_u64(skb, attrtype, *(u64 *)msg->value);
case NLA_NUL_STRING:
return nla_put_string(skb, attrtype, (char *)&msg->value);
case NLA_BINARY:
diff --git a/net/devlink/rate.c b/net/devlink/rate.c
index 7139e67e93ae..8828ffaf6cbc 100644
--- a/net/devlink/rate.c
+++ b/net/devlink/rate.c
@@ -108,12 +108,12 @@ static int devlink_nl_rate_fill(struct sk_buff *msg,
goto nla_put_failure;
}
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_RATE_TX_SHARE,
- devlink_rate->tx_share, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_RATE_TX_SHARE,
+ devlink_rate->tx_share))
goto nla_put_failure;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_RATE_TX_MAX,
- devlink_rate->tx_max, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_RATE_TX_MAX,
+ devlink_rate->tx_max))
goto nla_put_failure;
if (nla_put_u32(msg, DEVLINK_ATTR_RATE_TX_PRIORITY,
diff --git a/net/devlink/region.c b/net/devlink/region.c
index 7319127c5913..0a75a2fbd4d7 100644
--- a/net/devlink/region.c
+++ b/net/devlink/region.c
@@ -145,9 +145,7 @@ static int devlink_nl_region_fill(struct sk_buff *msg, struct devlink *devlink,
if (err)
goto nla_put_failure;
- err = nla_put_u64_64bit(msg, DEVLINK_ATTR_REGION_SIZE,
- region->size,
- DEVLINK_ATTR_PAD);
+ err = devlink_nl_put_u64(msg, DEVLINK_ATTR_REGION_SIZE, region->size);
if (err)
goto nla_put_failure;
@@ -210,8 +208,8 @@ devlink_nl_region_notify_build(struct devlink_region *region,
if (err)
goto out_cancel_msg;
} else {
- err = nla_put_u64_64bit(msg, DEVLINK_ATTR_REGION_SIZE,
- region->size, DEVLINK_ATTR_PAD);
+ err = devlink_nl_put_u64(msg, DEVLINK_ATTR_REGION_SIZE,
+ region->size);
if (err)
goto out_cancel_msg;
}
@@ -773,8 +771,7 @@ static int devlink_nl_cmd_region_read_chunk_fill(struct sk_buff *msg,
if (err)
goto nla_put_failure;
- err = nla_put_u64_64bit(msg, DEVLINK_ATTR_REGION_CHUNK_ADDR, addr,
- DEVLINK_ATTR_PAD);
+ err = devlink_nl_put_u64(msg, DEVLINK_ATTR_REGION_CHUNK_ADDR, addr);
if (err)
goto nla_put_failure;
diff --git a/net/devlink/resource.c b/net/devlink/resource.c
index 594c8aeb3bfa..5ce05e94f484 100644
--- a/net/devlink/resource.c
+++ b/net/devlink/resource.c
@@ -141,12 +141,12 @@ devlink_resource_size_params_put(struct devlink_resource *resource,
struct devlink_resource_size_params *size_params;
size_params = &resource->size_params;
- if (nla_put_u64_64bit(skb, DEVLINK_ATTR_RESOURCE_SIZE_GRAN,
- size_params->size_granularity, DEVLINK_ATTR_PAD) ||
- nla_put_u64_64bit(skb, DEVLINK_ATTR_RESOURCE_SIZE_MAX,
- size_params->size_max, DEVLINK_ATTR_PAD) ||
- nla_put_u64_64bit(skb, DEVLINK_ATTR_RESOURCE_SIZE_MIN,
- size_params->size_min, DEVLINK_ATTR_PAD) ||
+ if (devlink_nl_put_u64(skb, DEVLINK_ATTR_RESOURCE_SIZE_GRAN,
+ size_params->size_granularity) ||
+ devlink_nl_put_u64(skb, DEVLINK_ATTR_RESOURCE_SIZE_MAX,
+ size_params->size_max) ||
+ devlink_nl_put_u64(skb, DEVLINK_ATTR_RESOURCE_SIZE_MIN,
+ size_params->size_min) ||
nla_put_u8(skb, DEVLINK_ATTR_RESOURCE_UNIT, size_params->unit))
return -EMSGSIZE;
return 0;
@@ -157,9 +157,8 @@ static int devlink_resource_occ_put(struct devlink_resource *resource,
{
if (!resource->occ_get)
return 0;
- return nla_put_u64_64bit(skb, DEVLINK_ATTR_RESOURCE_OCC,
- resource->occ_get(resource->occ_get_priv),
- DEVLINK_ATTR_PAD);
+ return devlink_nl_put_u64(skb, DEVLINK_ATTR_RESOURCE_OCC,
+ resource->occ_get(resource->occ_get_priv));
}
static int devlink_resource_put(struct devlink *devlink, struct sk_buff *skb,
@@ -174,14 +173,12 @@ static int devlink_resource_put(struct devlink *devlink, struct sk_buff *skb,
return -EMSGSIZE;
if (nla_put_string(skb, DEVLINK_ATTR_RESOURCE_NAME, resource->name) ||
- nla_put_u64_64bit(skb, DEVLINK_ATTR_RESOURCE_SIZE, resource->size,
- DEVLINK_ATTR_PAD) ||
- nla_put_u64_64bit(skb, DEVLINK_ATTR_RESOURCE_ID, resource->id,
- DEVLINK_ATTR_PAD))
+ devlink_nl_put_u64(skb, DEVLINK_ATTR_RESOURCE_SIZE, resource->size) ||
+ devlink_nl_put_u64(skb, DEVLINK_ATTR_RESOURCE_ID, resource->id))
goto nla_put_failure;
if (resource->size != resource->size_new &&
- nla_put_u64_64bit(skb, DEVLINK_ATTR_RESOURCE_SIZE_NEW,
- resource->size_new, DEVLINK_ATTR_PAD))
+ devlink_nl_put_u64(skb, DEVLINK_ATTR_RESOURCE_SIZE_NEW,
+ resource->size_new))
goto nla_put_failure;
if (devlink_resource_occ_put(resource, skb))
goto nla_put_failure;
diff --git a/net/devlink/trap.c b/net/devlink/trap.c
index 5d18c7424df1..f36087f90db5 100644
--- a/net/devlink/trap.c
+++ b/net/devlink/trap.c
@@ -189,14 +189,12 @@ devlink_trap_group_stats_put(struct sk_buff *msg,
if (!attr)
return -EMSGSIZE;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_STATS_RX_PACKETS,
- u64_stats_read(&stats.rx_packets),
- DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_STATS_RX_PACKETS,
+ u64_stats_read(&stats.rx_packets)))
goto nla_put_failure;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_STATS_RX_BYTES,
- u64_stats_read(&stats.rx_bytes),
- DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_STATS_RX_BYTES,
+ u64_stats_read(&stats.rx_bytes)))
goto nla_put_failure;
nla_nest_end(msg, attr);
@@ -231,18 +229,15 @@ static int devlink_trap_stats_put(struct sk_buff *msg, struct devlink *devlink,
return -EMSGSIZE;
if (devlink->ops->trap_drop_counter_get &&
- nla_put_u64_64bit(msg, DEVLINK_ATTR_STATS_RX_DROPPED, drops,
- DEVLINK_ATTR_PAD))
+ devlink_nl_put_u64(msg, DEVLINK_ATTR_STATS_RX_DROPPED, drops))
goto nla_put_failure;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_STATS_RX_PACKETS,
- u64_stats_read(&stats.rx_packets),
- DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_STATS_RX_PACKETS,
+ u64_stats_read(&stats.rx_packets)))
goto nla_put_failure;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_STATS_RX_BYTES,
- u64_stats_read(&stats.rx_bytes),
- DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_STATS_RX_BYTES,
+ u64_stats_read(&stats.rx_bytes)))
goto nla_put_failure;
nla_nest_end(msg, attr);
@@ -750,8 +745,7 @@ devlink_trap_policer_stats_put(struct sk_buff *msg, struct devlink *devlink,
if (!attr)
return -EMSGSIZE;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_STATS_RX_DROPPED, drops,
- DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_STATS_RX_DROPPED, drops))
goto nla_put_failure;
nla_nest_end(msg, attr);
@@ -783,12 +777,12 @@ devlink_nl_trap_policer_fill(struct sk_buff *msg, struct devlink *devlink,
policer_item->policer->id))
goto nla_put_failure;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_TRAP_POLICER_RATE,
- policer_item->rate, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_TRAP_POLICER_RATE,
+ policer_item->rate))
goto nla_put_failure;
- if (nla_put_u64_64bit(msg, DEVLINK_ATTR_TRAP_POLICER_BURST,
- policer_item->burst, DEVLINK_ATTR_PAD))
+ if (devlink_nl_put_u64(msg, DEVLINK_ATTR_TRAP_POLICER_BURST,
+ policer_item->burst))
goto nla_put_failure;
err = devlink_trap_policer_stats_put(msg, devlink,
--
2.46.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v1 3/7] devlink: devl_resource_register(): differentiate error codes
2024-10-18 10:18 [PATCH v1 0/7] devlink: minor cleanup Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 1/7] devlink: introduce devlink_nl_put_u64() Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 2/7] devlink: use devlink_nl_put_u64() helper Przemek Kitszel
@ 2024-10-18 10:18 ` Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 4/7] devlink: region: snapshot IDs: consolidate error values Przemek Kitszel
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Przemek Kitszel @ 2024-10-18 10:18 UTC (permalink / raw)
To: netdev
Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik,
Przemek Kitszel, Wojciech Drewek
Differentiate error codes of devl_resource_register().
Replace one of -EINVAL exit paths by -EEXIST. This should aid developers
introducing new resources and registering them in the wrong order.
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
---
net/devlink/resource.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/devlink/resource.c b/net/devlink/resource.c
index 5ce05e94f484..96c0ff24b65a 100644
--- a/net/devlink/resource.c
+++ b/net/devlink/resource.c
@@ -345,7 +345,7 @@ int devl_resource_register(struct devlink *devlink,
resource = devlink_resource_find(devlink, NULL, resource_id);
if (resource)
- return -EINVAL;
+ return -EEXIST;
resource = kzalloc(sizeof(*resource), GFP_KERNEL);
if (!resource)
--
2.46.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v1 4/7] devlink: region: snapshot IDs: consolidate error values
2024-10-18 10:18 [PATCH v1 0/7] devlink: minor cleanup Przemek Kitszel
` (2 preceding siblings ...)
2024-10-18 10:18 ` [PATCH v1 3/7] devlink: devl_resource_register(): differentiate error codes Przemek Kitszel
@ 2024-10-18 10:18 ` Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 5/7] net: dsa: replace devlink resource registration calls by devl_ variants Przemek Kitszel
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Przemek Kitszel @ 2024-10-18 10:18 UTC (permalink / raw)
To: netdev
Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik,
Przemek Kitszel, Wojciech Drewek
Consolidate error codes for too big message size.
Current code is written to return -EINVAL when tailroom in the skb msg
would be exhausted precisely when it's time to nest, and return -EMSGSIZE
in all other "not enough space" conditions.
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
---
net/devlink/region.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/devlink/region.c b/net/devlink/region.c
index 0a75a2fbd4d7..63fb297f6d67 100644
--- a/net/devlink/region.c
+++ b/net/devlink/region.c
@@ -77,7 +77,7 @@ static int devlink_nl_region_snapshot_id_put(struct sk_buff *msg,
snap_attr = nla_nest_start_noflag(msg, DEVLINK_ATTR_REGION_SNAPSHOT);
if (!snap_attr)
- return -EINVAL;
+ return -EMSGSIZE;
err = nla_put_u32(msg, DEVLINK_ATTR_REGION_SNAPSHOT_ID, snapshot->id);
if (err)
@@ -102,7 +102,7 @@ static int devlink_nl_region_snapshots_id_put(struct sk_buff *msg,
snapshots_attr = nla_nest_start_noflag(msg,
DEVLINK_ATTR_REGION_SNAPSHOTS);
if (!snapshots_attr)
- return -EINVAL;
+ return -EMSGSIZE;
list_for_each_entry(snapshot, ®ion->snapshot_list, list) {
err = devlink_nl_region_snapshot_id_put(msg, devlink, snapshot);
--
2.46.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v1 5/7] net: dsa: replace devlink resource registration calls by devl_ variants
2024-10-18 10:18 [PATCH v1 0/7] devlink: minor cleanup Przemek Kitszel
` (3 preceding siblings ...)
2024-10-18 10:18 ` [PATCH v1 4/7] devlink: region: snapshot IDs: consolidate error values Przemek Kitszel
@ 2024-10-18 10:18 ` Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 6/7] devlink: remove unused devlink_resource_occ_get_register() and _unregister() Przemek Kitszel
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Przemek Kitszel @ 2024-10-18 10:18 UTC (permalink / raw)
To: netdev
Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik,
Przemek Kitszel, Wojciech Drewek
Replace devlink_resource_register(), devlink_resource_occ_get_register(),
and devlink_resource_occ_get_unregister() calls by respective devl_*
variants. Mentioned functions have no direct users in any drivers, and are
going to be removed in subsequent patches.
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
---
net/dsa/devlink.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/net/dsa/devlink.c b/net/dsa/devlink.c
index 0aac887d0098..f41f9fc2194e 100644
--- a/net/dsa/devlink.c
+++ b/net/dsa/devlink.c
@@ -229,10 +229,15 @@ int dsa_devlink_resource_register(struct dsa_switch *ds,
u64 parent_resource_id,
const struct devlink_resource_size_params *size_params)
{
- return devlink_resource_register(ds->devlink, resource_name,
- resource_size, resource_id,
- parent_resource_id,
- size_params);
+ int ret;
+
+ devl_lock(ds->devlink);
+ ret = devl_resource_register(ds->devlink, resource_name, resource_size,
+ resource_id, parent_resource_id,
+ size_params);
+ devl_unlock(ds->devlink);
+
+ return ret;
}
EXPORT_SYMBOL_GPL(dsa_devlink_resource_register);
@@ -247,15 +252,19 @@ void dsa_devlink_resource_occ_get_register(struct dsa_switch *ds,
devlink_resource_occ_get_t *occ_get,
void *occ_get_priv)
{
- return devlink_resource_occ_get_register(ds->devlink, resource_id,
- occ_get, occ_get_priv);
+ devl_lock(ds->devlink);
+ devl_resource_occ_get_register(ds->devlink, resource_id, occ_get,
+ occ_get_priv);
+ devl_unlock(ds->devlink);
}
EXPORT_SYMBOL_GPL(dsa_devlink_resource_occ_get_register);
void dsa_devlink_resource_occ_get_unregister(struct dsa_switch *ds,
u64 resource_id)
{
- devlink_resource_occ_get_unregister(ds->devlink, resource_id);
+ devl_lock(ds->devlink);
+ devl_resource_occ_get_unregister(ds->devlink, resource_id);
+ devl_unlock(ds->devlink);
}
EXPORT_SYMBOL_GPL(dsa_devlink_resource_occ_get_unregister);
--
2.46.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v1 6/7] devlink: remove unused devlink_resource_occ_get_register() and _unregister()
2024-10-18 10:18 [PATCH v1 0/7] devlink: minor cleanup Przemek Kitszel
` (4 preceding siblings ...)
2024-10-18 10:18 ` [PATCH v1 5/7] net: dsa: replace devlink resource registration calls by devl_ variants Przemek Kitszel
@ 2024-10-18 10:18 ` Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 7/7] devlink: remove unused devlink_resource_register() Przemek Kitszel
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Przemek Kitszel @ 2024-10-18 10:18 UTC (permalink / raw)
To: netdev
Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik,
Przemek Kitszel, Wojciech Drewek
Remove not used devlink_resource_occ_get_register() and
devlink_resource_occ_get_unregister() functions; current devlink resource
users are fine with devl_ variants of the two.
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
---
include/net/devlink.h | 7 -------
net/devlink/resource.c | 39 ---------------------------------------
2 files changed, 46 deletions(-)
diff --git a/include/net/devlink.h b/include/net/devlink.h
index db5eff6cb60f..fdd6a0f9891d 100644
--- a/include/net/devlink.h
+++ b/include/net/devlink.h
@@ -1797,15 +1797,8 @@ void devl_resource_occ_get_register(struct devlink *devlink,
u64 resource_id,
devlink_resource_occ_get_t *occ_get,
void *occ_get_priv);
-void devlink_resource_occ_get_register(struct devlink *devlink,
- u64 resource_id,
- devlink_resource_occ_get_t *occ_get,
- void *occ_get_priv);
void devl_resource_occ_get_unregister(struct devlink *devlink,
u64 resource_id);
-
-void devlink_resource_occ_get_unregister(struct devlink *devlink,
- u64 resource_id);
int devl_params_register(struct devlink *devlink,
const struct devlink_param *params,
size_t params_count);
diff --git a/net/devlink/resource.c b/net/devlink/resource.c
index 96c0ff24b65a..a923222bbde8 100644
--- a/net/devlink/resource.c
+++ b/net/devlink/resource.c
@@ -513,28 +513,6 @@ void devl_resource_occ_get_register(struct devlink *devlink,
}
EXPORT_SYMBOL_GPL(devl_resource_occ_get_register);
-/**
- * devlink_resource_occ_get_register - register occupancy getter
- *
- * @devlink: devlink
- * @resource_id: resource id
- * @occ_get: occupancy getter callback
- * @occ_get_priv: occupancy getter callback priv
- *
- * Context: Takes and release devlink->lock <mutex>.
- */
-void devlink_resource_occ_get_register(struct devlink *devlink,
- u64 resource_id,
- devlink_resource_occ_get_t *occ_get,
- void *occ_get_priv)
-{
- devl_lock(devlink);
- devl_resource_occ_get_register(devlink, resource_id,
- occ_get, occ_get_priv);
- devl_unlock(devlink);
-}
-EXPORT_SYMBOL_GPL(devlink_resource_occ_get_register);
-
/**
* devl_resource_occ_get_unregister - unregister occupancy getter
*
@@ -557,20 +535,3 @@ void devl_resource_occ_get_unregister(struct devlink *devlink,
resource->occ_get_priv = NULL;
}
EXPORT_SYMBOL_GPL(devl_resource_occ_get_unregister);
-
-/**
- * devlink_resource_occ_get_unregister - unregister occupancy getter
- *
- * @devlink: devlink
- * @resource_id: resource id
- *
- * Context: Takes and release devlink->lock <mutex>.
- */
-void devlink_resource_occ_get_unregister(struct devlink *devlink,
- u64 resource_id)
-{
- devl_lock(devlink);
- devl_resource_occ_get_unregister(devlink, resource_id);
- devl_unlock(devlink);
-}
-EXPORT_SYMBOL_GPL(devlink_resource_occ_get_unregister);
--
2.46.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v1 7/7] devlink: remove unused devlink_resource_register()
2024-10-18 10:18 [PATCH v1 0/7] devlink: minor cleanup Przemek Kitszel
` (5 preceding siblings ...)
2024-10-18 10:18 ` [PATCH v1 6/7] devlink: remove unused devlink_resource_occ_get_register() and _unregister() Przemek Kitszel
@ 2024-10-18 10:18 ` Przemek Kitszel
2024-10-18 11:58 ` [PATCH v1 0/7] devlink: minor cleanup Jiri Pirko
2024-10-21 19:51 ` Joe Damato
8 siblings, 0 replies; 10+ messages in thread
From: Przemek Kitszel @ 2024-10-18 10:18 UTC (permalink / raw)
To: netdev
Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik,
Przemek Kitszel, Wojciech Drewek
Remove unused devlink_resource_register(); all the drivers use
devl_resource_register() variant instead.
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
---
include/net/devlink.h | 6 ------
net/devlink/resource.c | 33 ---------------------------------
2 files changed, 39 deletions(-)
diff --git a/include/net/devlink.h b/include/net/devlink.h
index fdd6a0f9891d..fbb9a2668e24 100644
--- a/include/net/devlink.h
+++ b/include/net/devlink.h
@@ -1779,12 +1779,6 @@ int devl_resource_register(struct devlink *devlink,
u64 resource_id,
u64 parent_resource_id,
const struct devlink_resource_size_params *size_params);
-int devlink_resource_register(struct devlink *devlink,
- const char *resource_name,
- u64 resource_size,
- u64 resource_id,
- u64 parent_resource_id,
- const struct devlink_resource_size_params *size_params);
void devl_resources_unregister(struct devlink *devlink);
void devlink_resources_unregister(struct devlink *devlink);
int devl_resource_size_get(struct devlink *devlink,
diff --git a/net/devlink/resource.c b/net/devlink/resource.c
index a923222bbde8..2d6324f3d91f 100644
--- a/net/devlink/resource.c
+++ b/net/devlink/resource.c
@@ -381,39 +381,6 @@ int devl_resource_register(struct devlink *devlink,
}
EXPORT_SYMBOL_GPL(devl_resource_register);
-/**
- * devlink_resource_register - devlink resource register
- *
- * @devlink: devlink
- * @resource_name: resource's name
- * @resource_size: resource's size
- * @resource_id: resource's id
- * @parent_resource_id: resource's parent id
- * @size_params: size parameters
- *
- * Generic resources should reuse the same names across drivers.
- * Please see the generic resources list at:
- * Documentation/networking/devlink/devlink-resource.rst
- *
- * Context: Takes and release devlink->lock <mutex>.
- */
-int devlink_resource_register(struct devlink *devlink,
- const char *resource_name,
- u64 resource_size,
- u64 resource_id,
- u64 parent_resource_id,
- const struct devlink_resource_size_params *size_params)
-{
- int err;
-
- devl_lock(devlink);
- err = devl_resource_register(devlink, resource_name, resource_size,
- resource_id, parent_resource_id, size_params);
- devl_unlock(devlink);
- return err;
-}
-EXPORT_SYMBOL_GPL(devlink_resource_register);
-
static void devlink_resource_unregister(struct devlink *devlink,
struct devlink_resource *resource)
{
--
2.46.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v1 0/7] devlink: minor cleanup
2024-10-18 10:18 [PATCH v1 0/7] devlink: minor cleanup Przemek Kitszel
` (6 preceding siblings ...)
2024-10-18 10:18 ` [PATCH v1 7/7] devlink: remove unused devlink_resource_register() Przemek Kitszel
@ 2024-10-18 11:58 ` Jiri Pirko
2024-10-21 19:51 ` Joe Damato
8 siblings, 0 replies; 10+ messages in thread
From: Jiri Pirko @ 2024-10-18 11:58 UTC (permalink / raw)
To: Przemek Kitszel
Cc: netdev, Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming,
Marcin Szycik
Fri, Oct 18, 2024 at 12:18:29PM CEST, przemyslaw.kitszel@intel.com wrote:
>(Patch 1, 2) Add one helper shortcut to put u64 values into skb.
>(Patch 3, 4) Minor cleanup for error codes.
>(Patch 5, 6, 7) Remove some devlink_resource_*() usage and functions
> itself via replacing devlink_* variants by devl_* ones.
Use get_maintainers script to get the cclist.
put "net-next" into [patch] brackets to indicate what tree you aim at.
Code-wise, looks okay to me:
set-
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v1 0/7] devlink: minor cleanup
2024-10-18 10:18 [PATCH v1 0/7] devlink: minor cleanup Przemek Kitszel
` (7 preceding siblings ...)
2024-10-18 11:58 ` [PATCH v1 0/7] devlink: minor cleanup Jiri Pirko
@ 2024-10-21 19:51 ` Joe Damato
8 siblings, 0 replies; 10+ messages in thread
From: Joe Damato @ 2024-10-21 19:51 UTC (permalink / raw)
To: Przemek Kitszel
Cc: netdev, Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming,
Marcin Szycik
On Fri, Oct 18, 2024 at 12:18:29PM +0200, Przemek Kitszel wrote:
> (Patch 1, 2) Add one helper shortcut to put u64 values into skb.
> (Patch 3, 4) Minor cleanup for error codes.
> (Patch 5, 6, 7) Remove some devlink_resource_*() usage and functions
> itself via replacing devlink_* variants by devl_* ones.
>
> Przemek Kitszel (7):
> devlink: introduce devlink_nl_put_u64()
> devlink: use devlink_nl_put_u64() helper
> devlink: devl_resource_register(): differentiate error codes
> devlink: region: snapshot IDs: consolidate error values
> net: dsa: replace devlink resource registration calls by devl_
> variants
> devlink: remove unused devlink_resource_occ_get_register() and
> _unregister()
> devlink: remove unused devlink_resource_register()
>
> include/net/devlink.h | 13 -----
> net/devlink/devl_internal.h | 5 ++
> net/devlink/dev.c | 12 ++---
> net/devlink/dpipe.c | 18 +++----
> net/devlink/health.c | 25 ++++-----
> net/devlink/rate.c | 8 +--
> net/devlink/region.c | 15 +++---
> net/devlink/resource.c | 101 +++++-------------------------------
> net/devlink/trap.c | 34 +++++-------
> net/dsa/devlink.c | 23 +++++---
> 10 files changed, 83 insertions(+), 171 deletions(-)
Reviewed-by: Joe Damato <jdamato@fastly.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-10-21 19:52 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-18 10:18 [PATCH v1 0/7] devlink: minor cleanup Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 1/7] devlink: introduce devlink_nl_put_u64() Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 2/7] devlink: use devlink_nl_put_u64() helper Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 3/7] devlink: devl_resource_register(): differentiate error codes Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 4/7] devlink: region: snapshot IDs: consolidate error values Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 5/7] net: dsa: replace devlink resource registration calls by devl_ variants Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 6/7] devlink: remove unused devlink_resource_occ_get_register() and _unregister() Przemek Kitszel
2024-10-18 10:18 ` [PATCH v1 7/7] devlink: remove unused devlink_resource_register() Przemek Kitszel
2024-10-18 11:58 ` [PATCH v1 0/7] devlink: minor cleanup Jiri Pirko
2024-10-21 19:51 ` Joe Damato
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox