* [PATCH net-next v2 0/7] devlink: minor cleanup
@ 2024-10-23 13:09 Przemek Kitszel
2024-10-23 13:09 ` [PATCH net-next v2 1/7] devlink: introduce devlink_nl_put_u64() Przemek Kitszel
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Przemek Kitszel @ 2024-10-23 13:09 UTC (permalink / raw)
To: netdev
Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik,
Jiri Pirko, davem, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Andrew Lunn, Florian Fainelli, Vladimir Oltean, linux-kernel,
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.
v2: fix metadata (cc list, target tree) - Jiri; rebase; tags collected
v1:
https://lore.kernel.org/netdev/20241018102009.10124-1-przemyslaw.kitszel@intel.com/
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: d811ac148f0afd2f3f7e1cd7f54de8da973ec5e3
--
2.46.0
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH net-next v2 1/7] devlink: introduce devlink_nl_put_u64() 2024-10-23 13:09 [PATCH net-next v2 0/7] devlink: minor cleanup Przemek Kitszel @ 2024-10-23 13:09 ` Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 2/7] devlink: use devlink_nl_put_u64() helper Przemek Kitszel ` (6 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: Przemek Kitszel @ 2024-10-23 13:09 UTC (permalink / raw) To: netdev Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik, Jiri Pirko, davem, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Andrew Lunn, Florian Fainelli, Vladimir Oltean, linux-kernel, Przemek Kitszel, Wojciech Drewek, Jiri Pirko, Joe Damato 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> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Joe Damato <jdamato@fastly.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 [flat|nested] 9+ messages in thread
* [PATCH net-next v2 2/7] devlink: use devlink_nl_put_u64() helper 2024-10-23 13:09 [PATCH net-next v2 0/7] devlink: minor cleanup Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 1/7] devlink: introduce devlink_nl_put_u64() Przemek Kitszel @ 2024-10-23 13:09 ` Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 3/7] devlink: devl_resource_register(): differentiate error codes Przemek Kitszel ` (5 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: Przemek Kitszel @ 2024-10-23 13:09 UTC (permalink / raw) To: netdev Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik, Jiri Pirko, davem, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Andrew Lunn, Florian Fainelli, Vladimir Oltean, linux-kernel, Przemek Kitszel, Wojciech Drewek, Jiri Pirko, Joe Damato Use devlink_nl_put_u64() shortcut added by prev commit on all devlink/. Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Joe Damato <jdamato@fastly.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 [flat|nested] 9+ messages in thread
* [PATCH net-next v2 3/7] devlink: devl_resource_register(): differentiate error codes 2024-10-23 13:09 [PATCH net-next v2 0/7] devlink: minor cleanup Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 1/7] devlink: introduce devlink_nl_put_u64() Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 2/7] devlink: use devlink_nl_put_u64() helper Przemek Kitszel @ 2024-10-23 13:09 ` Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 4/7] devlink: region: snapshot IDs: consolidate error values Przemek Kitszel ` (4 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: Przemek Kitszel @ 2024-10-23 13:09 UTC (permalink / raw) To: netdev Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik, Jiri Pirko, davem, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Andrew Lunn, Florian Fainelli, Vladimir Oltean, linux-kernel, Przemek Kitszel, Wojciech Drewek, Jiri Pirko, Joe Damato 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> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Joe Damato <jdamato@fastly.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 [flat|nested] 9+ messages in thread
* [PATCH net-next v2 4/7] devlink: region: snapshot IDs: consolidate error values 2024-10-23 13:09 [PATCH net-next v2 0/7] devlink: minor cleanup Przemek Kitszel ` (2 preceding siblings ...) 2024-10-23 13:09 ` [PATCH net-next v2 3/7] devlink: devl_resource_register(): differentiate error codes Przemek Kitszel @ 2024-10-23 13:09 ` Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 5/7] net: dsa: replace devlink resource registration calls by devl_ variants Przemek Kitszel ` (3 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: Przemek Kitszel @ 2024-10-23 13:09 UTC (permalink / raw) To: netdev Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik, Jiri Pirko, davem, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Andrew Lunn, Florian Fainelli, Vladimir Oltean, linux-kernel, Przemek Kitszel, Wojciech Drewek, Jiri Pirko, Joe Damato 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> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Joe Damato <jdamato@fastly.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 [flat|nested] 9+ messages in thread
* [PATCH net-next v2 5/7] net: dsa: replace devlink resource registration calls by devl_ variants 2024-10-23 13:09 [PATCH net-next v2 0/7] devlink: minor cleanup Przemek Kitszel ` (3 preceding siblings ...) 2024-10-23 13:09 ` [PATCH net-next v2 4/7] devlink: region: snapshot IDs: consolidate error values Przemek Kitszel @ 2024-10-23 13:09 ` Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 6/7] devlink: remove unused devlink_resource_occ_get_register() and _unregister() Przemek Kitszel ` (2 subsequent siblings) 7 siblings, 0 replies; 9+ messages in thread From: Przemek Kitszel @ 2024-10-23 13:09 UTC (permalink / raw) To: netdev Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik, Jiri Pirko, davem, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Andrew Lunn, Florian Fainelli, Vladimir Oltean, linux-kernel, Przemek Kitszel, Wojciech Drewek, Jiri Pirko, Joe Damato 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> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Joe Damato <jdamato@fastly.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 [flat|nested] 9+ messages in thread
* [PATCH net-next v2 6/7] devlink: remove unused devlink_resource_occ_get_register() and _unregister() 2024-10-23 13:09 [PATCH net-next v2 0/7] devlink: minor cleanup Przemek Kitszel ` (4 preceding siblings ...) 2024-10-23 13:09 ` [PATCH net-next v2 5/7] net: dsa: replace devlink resource registration calls by devl_ variants Przemek Kitszel @ 2024-10-23 13:09 ` Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 7/7] devlink: remove unused devlink_resource_register() Przemek Kitszel 2024-10-30 0:30 ` [PATCH net-next v2 0/7] devlink: minor cleanup patchwork-bot+netdevbpf 7 siblings, 0 replies; 9+ messages in thread From: Przemek Kitszel @ 2024-10-23 13:09 UTC (permalink / raw) To: netdev Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik, Jiri Pirko, davem, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Andrew Lunn, Florian Fainelli, Vladimir Oltean, linux-kernel, Przemek Kitszel, Wojciech Drewek, Jiri Pirko, Joe Damato 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> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Joe Damato <jdamato@fastly.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 [flat|nested] 9+ messages in thread
* [PATCH net-next v2 7/7] devlink: remove unused devlink_resource_register() 2024-10-23 13:09 [PATCH net-next v2 0/7] devlink: minor cleanup Przemek Kitszel ` (5 preceding siblings ...) 2024-10-23 13:09 ` [PATCH net-next v2 6/7] devlink: remove unused devlink_resource_occ_get_register() and _unregister() Przemek Kitszel @ 2024-10-23 13:09 ` Przemek Kitszel 2024-10-30 0:30 ` [PATCH net-next v2 0/7] devlink: minor cleanup patchwork-bot+netdevbpf 7 siblings, 0 replies; 9+ messages in thread From: Przemek Kitszel @ 2024-10-23 13:09 UTC (permalink / raw) To: netdev Cc: Tony Nguyen, nex.sw.ncis.osdt.itp.upstreaming, Marcin Szycik, Jiri Pirko, davem, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Andrew Lunn, Florian Fainelli, Vladimir Oltean, linux-kernel, Przemek Kitszel, Wojciech Drewek, Jiri Pirko, Joe Damato Remove unused devlink_resource_register(); all the drivers use devl_resource_register() variant instead. Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Joe Damato <jdamato@fastly.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 [flat|nested] 9+ messages in thread
* Re: [PATCH net-next v2 0/7] devlink: minor cleanup 2024-10-23 13:09 [PATCH net-next v2 0/7] devlink: minor cleanup Przemek Kitszel ` (6 preceding siblings ...) 2024-10-23 13:09 ` [PATCH net-next v2 7/7] devlink: remove unused devlink_resource_register() Przemek Kitszel @ 2024-10-30 0:30 ` patchwork-bot+netdevbpf 7 siblings, 0 replies; 9+ messages in thread From: patchwork-bot+netdevbpf @ 2024-10-30 0:30 UTC (permalink / raw) To: Przemek Kitszel Cc: netdev, anthony.l.nguyen, nex.sw.ncis.osdt.itp.upstreaming, marcin.szycik, jiri, davem, edumazet, kuba, pabeni, andrew, f.fainelli, olteanv, linux-kernel Hello: This series was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Wed, 23 Oct 2024 15:09:00 +0200 you 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. > > v2: fix metadata (cc list, target tree) - Jiri; rebase; tags collected > > [...] Here is the summary with links: - [net-next,v2,1/7] devlink: introduce devlink_nl_put_u64() https://git.kernel.org/netdev/net-next/c/da3ee3cd79ca - [net-next,v2,2/7] devlink: use devlink_nl_put_u64() helper https://git.kernel.org/netdev/net-next/c/a788acf154eb - [net-next,v2,3/7] devlink: devl_resource_register(): differentiate error codes https://git.kernel.org/netdev/net-next/c/e0b140c44f32 - [net-next,v2,4/7] devlink: region: snapshot IDs: consolidate error values https://git.kernel.org/netdev/net-next/c/72429e9e0cfb - [net-next,v2,5/7] net: dsa: replace devlink resource registration calls by devl_ variants https://git.kernel.org/netdev/net-next/c/d5020cb41e3c - [net-next,v2,6/7] devlink: remove unused devlink_resource_occ_get_register() and _unregister() https://git.kernel.org/netdev/net-next/c/2a0df10434dd - [net-next,v2,7/7] devlink: remove unused devlink_resource_register() https://git.kernel.org/netdev/net-next/c/e3302f9a503a You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-10-30 0:30 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-10-23 13:09 [PATCH net-next v2 0/7] devlink: minor cleanup Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 1/7] devlink: introduce devlink_nl_put_u64() Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 2/7] devlink: use devlink_nl_put_u64() helper Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 3/7] devlink: devl_resource_register(): differentiate error codes Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 4/7] devlink: region: snapshot IDs: consolidate error values Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 5/7] net: dsa: replace devlink resource registration calls by devl_ variants Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 6/7] devlink: remove unused devlink_resource_occ_get_register() and _unregister() Przemek Kitszel 2024-10-23 13:09 ` [PATCH net-next v2 7/7] devlink: remove unused devlink_resource_register() Przemek Kitszel 2024-10-30 0:30 ` [PATCH net-next v2 0/7] devlink: minor cleanup patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®