Breno Leitao
8823eaef45
workqueue: Show all busy workers in stall diagnostics
...
show_cpu_pool_hog() only prints workers whose task is currently running
on the CPU (task_is_running()). This misses workers that are busy
processing a work item but are sleeping or blocked — for example, a
worker that clears PF_WQ_WORKER and enters wait_event_idle(). Such a
worker still occupies a pool slot and prevents progress, yet produces
an empty backtrace section in the watchdog output.
This is happening on real arm64 systems, where
toggle_allocation_gate() IPIs every single CPU in the machine (which
lacks NMI), causing workqueue stalls that show empty backtraces because
toggle_allocation_gate() is sleeping in wait_event_idle().
Remove the task_is_running() filter so every in-flight worker in the
pool's busy_hash is dumped. The busy_hash is protected by pool->lock,
which is already held.
Signed-off-by: Breno Leitao <leitao@debian.org >
Acked-by: Song Liu <song@kernel.org >
Signed-off-by: Tejun Heo <tj@kernel.org >
2026-03-05 07:30:11 -10:00
..
2026-02-27 16:11:50 -08:00
2026-03-03 14:25:18 -08:00
2026-02-23 11:18:48 -08:00
2026-02-21 01:02:28 -08:00
2026-02-23 08:26:54 +01:00
2026-01-30 15:40:05 +01:00
2026-02-25 15:02:34 +01:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-26 09:54:08 -08:00
2026-02-21 17:09:51 -08:00
2026-02-24 11:13:26 -08:00
2026-02-22 08:26:33 -08:00
2026-02-23 19:37:28 +00:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-03-03 14:25:18 -08:00
2026-03-04 08:21:11 -08:00
2026-02-26 11:23:57 -08:00
2026-02-21 20:03:00 -08:00
2025-06-24 20:30:37 +09:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2025-10-22 19:28:06 -04:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2025-12-03 16:53:19 +01:00
2025-07-31 18:23:53 -07:00
2026-01-01 16:39:46 +08:00
2025-11-14 10:01:52 +01:00
2026-02-17 09:46:03 -08:00
2025-09-13 17:32:55 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2025-11-12 10:00:15 -08:00
2026-01-06 20:52:57 -05:00
2026-02-08 00:13:32 -08:00
2026-02-26 10:45:49 +01:00
2026-02-21 17:09:51 -08:00
2026-02-18 14:04:51 +01:00
2025-10-30 20:10:27 +01:00
2025-08-06 10:23:36 +09:00
2026-02-21 01:02:28 -08:00
2025-11-20 14:03:43 -08:00
2026-01-22 15:58:22 -07:00
2026-02-21 17:09:51 -08:00
2026-02-12 12:13:01 -08:00
2025-11-27 14:24:33 -08:00
2026-01-08 12:43:57 +01:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-01-31 16:16:07 -08:00
2025-08-02 12:01:38 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2025-11-27 15:44:53 +01:00
2025-11-27 14:24:42 -08:00
2026-02-26 10:45:49 +01:00
2026-01-05 16:43:34 +01:00
2026-02-27 22:00:08 +01:00
2025-11-14 13:10:38 +01:00
2026-02-27 22:00:11 +01:00
2026-02-21 20:03:00 -08:00
2026-02-03 08:21:26 -08:00
2026-02-21 20:03:00 -08:00
2025-11-11 10:01:32 +01:00
2026-02-10 11:39:30 +01:00
2025-11-04 08:30:50 +01:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-23 11:19:19 +01:00
2026-02-21 17:09:51 -08:00
2025-11-12 10:00:13 -08:00
2026-02-21 17:09:51 -08:00
2026-01-05 16:43:33 +01:00
2025-11-19 18:06:50 +01:00
2025-06-13 08:47:20 +02:00
2025-09-17 16:25:41 +02:00
2026-02-21 17:09:51 -08:00
2025-07-01 15:02:03 +02:00
2026-01-22 11:11:17 +01:00
2026-02-12 19:17:44 -08:00
2026-01-06 11:27:10 +01:00
2025-10-29 10:29:54 +01:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-01-26 19:07:13 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 01:02:28 -08:00
2026-02-22 08:26:33 -08:00
2025-11-11 10:01:32 +01:00
2025-09-29 11:20:29 -07:00
2026-02-21 17:09:51 -08:00
2026-02-12 12:13:01 -08:00
2026-02-21 17:09:51 -08:00
2025-07-31 11:28:03 -04:00
2026-02-08 00:13:35 -08:00
2026-02-08 00:13:34 -08:00
2026-03-05 07:27:48 -10:00
2026-03-05 07:30:11 -10:00