workqueue: add CONFIG_BOOTPARAM_WQ_STALL_PANIC option

Add a kernel config option to set the default value of
workqueue.panic_on_stall, similar to CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC,
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC and CONFIG_BOOTPARAM_HUNG_TASK_PANIC.

This allows setting the number of workqueue stalls before triggering
a kernel panic at build time, which is useful for high-availability
systems that need consistent panic-on-stall, in other words, those
servers which run with CONFIG_BOOTPARAM_*_PANIC=y already.

The default remains 0 (disabled). Setting it to 1 will panic on the
first stall, and higher values will panic after that many stall
warnings. The value can still be overridden at runtime via the
workqueue.panic_on_stall boot parameter or sysfs.

Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
Breno Leitao
2026-02-03 09:01:17 -08:00
committed by Tejun Heo
parent 51cd2d2dec
commit 32d572e390
3 changed files with 26 additions and 2 deletions

View File

@@ -8336,7 +8336,8 @@ Kernel parameters
CONFIG_WQ_WATCHDOG. It sets the number times of the
stall to trigger panic.
The default is 0, which disables the panic on stall.
The default is set by CONFIG_BOOTPARAM_WQ_STALL_PANIC,
which is 0 (disabled) if not configured.
workqueue.cpu_intensive_thresh_us=
Per-cpu work items which run for longer than this