workqueue: Fixes for v7.0-rc3

- Improve workqueue stall diagnostics: dump all busy workers (not just
  running ones), show wall-clock duration of in-flight work items, and
  add a sample module for reproducing stalls.

- Fix POOL_BH vs WQ_BH flag namespace mismatch in pr_cont_worker_id().

- Rename pool->watchdog_ts to pool->last_progress_ts and related
  functions for clarity.
workqueue: Rename show_cpu_pool{s,}_hog{s,}() to reflect broadened scope

show_cpu_pool_hog() and show_cpu_pools_hogs() no longer only dump CPU
hogs — since commit 8823eaef45da ("workqueue: Show all busy workers in
stall diagnostics"), they dump every in-flight worker in the pool's
busy_hash.

Rename them to show_cpu_pool_busy_workers() and
show_cpu_pools_busy_workers() to accurately describe what they do.

Also fix the pr_info() message to say "stalled worker pools" instead of
"stalled CPU-bound worker pools", since sleeping/blocked workers are now
included.

No functional change.

Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
1 file changed