This series adds a new module parameter 'panic_on_stall_time' that allows the
system to panic if a workqueue stall lasts longer than the specified number of
seconds.
Unlike the existing 'panic_on_stall' parameter which counts total stall
events over the kernel's lifetime, this new parameter triggers a panic
based on the actual duration of a continuous stall. This is useful for
catching truly stuck workqueues rather than accumulating transient stalls.
Usage:
workqueue.panic_on_stall_time=120
This would panic if any workqueue pool has been stalled for 120 seconds
or more.
This approach differs from simply setting watchdog_thresh=120 and
panic_on_stall=1, as the user still wants to observe stalls but only
trigger a crash for stalls that are exceptionally long and remain
unresolved.
Signed-off-by: Breno Leitao <leitao@debian.org>
---
Breno Leitao (2):
workqueue: add time-based panic for stalls
workqueue: replace BUG_ON with panic in panic_on_wq_watchdog
Documentation/admin-guide/kernel-parameters.txt | 8 +++++++
kernel/workqueue.c | 28 ++++++++++++++++++++-----
2 files changed, 31 insertions(+), 5 deletions(-)
---
base-commit: 6bd9ed02871f22beb0e50690b0c3caf457104f7c
change-id: 20260205-wqstall_panic_time-fbfe60f33c85
Best regards,
--
Breno Leitao <leitao@debian.org>