linux/net/devlink
Shahar Shitrit da0e219764 devlink: Make health reporter burst period configurable
Enable configuration of the burst period — a time window starting
from the first error recovery, during which the reporter allows
recovery attempts for each reported error.

This feature is helpful when a single underlying issue causes multiple
errors, as it delays the start of the grace period to allow sufficient
time for recovering all related errors. For example, if multiple TX
queues time out simultaneously, a sufficient burst period could allow
all affected TX queues to be recovered within that window. Without this
period, only the first TX queue that reports a timeout will undergo
recovery, while the remaining TX queues will be blocked once the grace
period begins.

Configuration example:
$ devlink health set pci/0000:00:09.0 reporter tx burst_period 500

Configuration example with ynl:
./tools/net/ynl/pyynl/cli.py \
 --spec Documentation/netlink/specs/devlink.yaml \
 --do health-reporter-set --json '{
  "bus-name": "auxiliary",
  "dev-name": "mlx5_core.eth.0",
  "port-index": 65535,
  "health-reporter-name": "tx",
  "health-reporter-burst-period": 500
}'

Signed-off-by: Shahar Shitrit <shshitrit@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Dragos Tatulea <dtatulea@nvidia.com>
Reviewed-by: Carolina Jubran <cjubran@nvidia.com>
Signed-off-by: Mark Bloch <mbloch@nvidia.com>
Link: https://patch.msgid.link/20250824084354.533182-5-mbloch@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-08-26 17:24:16 -07:00
..
core.c devlink: fix xa_alloc_cyclic() error handling 2025-03-19 09:57:36 +00:00
dev.c devlink: add value check to devlink_info_version_put() 2025-04-15 07:36:31 -07:00
devl_internal.h devlink: introduce devlink_nl_put_u64() 2024-10-29 16:52:56 -07:00
dpipe.c devlink: use devlink_nl_put_u64() helper 2024-10-29 16:52:56 -07:00
health.c devlink: Make health reporter burst period configurable 2025-08-26 17:24:16 -07:00
linecard.c devlink: introduce a helper for netlink multicast send 2023-12-19 15:31:40 +01:00
Makefile devlink: move devlink_notify_register/unregister() to dev.c 2023-08-28 08:02:24 -07:00
netlink_gen.c devlink: Make health reporter burst period configurable 2025-08-26 17:24:16 -07:00
netlink_gen.h devlink: Fix excessive stack usage in rate TC bandwidth parsing 2025-07-23 17:07:35 -07:00
netlink.c devlink: Fix devlink parallel commands processing 2024-03-13 08:31:40 +00:00
param.c devlink: Add new "clock_id" generic device param 2025-07-09 19:08:52 -07:00
port.c devlink/port: Check attributes early and constify 2025-08-14 17:35:20 -07:00
rate.c devlink: Fix excessive stack usage in rate TC bandwidth parsing 2025-07-23 17:07:35 -07:00
region.c devlink: region: snapshot IDs: consolidate error values 2024-10-29 16:52:57 -07:00
resource.c devlink: remove unused devlink_resource_register() 2024-10-29 16:52:57 -07:00
sb.c devlink: rename netlink callback to be aligned with the generated ones 2023-10-23 16:12:47 -07:00
trap.c devlink: use devlink_nl_put_u64() helper 2024-10-29 16:52:56 -07:00