* [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®