mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
union devlink_param_value grows substantially once U64 array parameters are added to devlink (from 32 bytes to over 264 bytes). devlink_nl_param_value_fill_one() and devlink_nl_param_value_put() copy the union by value in several places. Passing two instances as value arguments alone consumes over 528 bytes of stack; combined with deeper call chains the parameter stack can approach 800 bytes and trip CONFIG_FRAME_WARN more easily. Switch internal helpers and exported driver APIs to pass pointers to union devlink_param_value rather than passing the union by value. Reviewed-by: Petr Machata <petrm@nvidia.com> # for mlxsw Acked-by: Przemek Kitszel <przemyslaw.kitszel@intel.com> Reviewed-by: Arthur Kiyanovski <akiyano@amazon.com> #for ena Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com> Link: https://patch.msgid.link/20260521095303.2395584-4-rkannoth@marvell.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
||
|---|---|---|
| .. | ||
| core.c | ||
| dev.c | ||
| devl_internal.h | ||
| dpipe.c | ||
| health.c | ||
| linecard.c | ||
| Makefile | ||
| netlink_gen.c | ||
| netlink_gen.h | ||
| netlink.c | ||
| param.c | ||
| port.c | ||
| rate.c | ||
| region.c | ||
| resource.c | ||
| sb.c | ||
| sh_dev.c | ||
| trap.c | ||