mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
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 8823eaef45 ("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>
This commit is contained in:
@@ -7587,7 +7587,7 @@ MODULE_PARM_DESC(panic_on_stall_time, "Panic if stall exceeds this many seconds
|
|||||||
* wait_event_idle() with PF_WQ_WORKER cleared) can stall the pool just as
|
* wait_event_idle() with PF_WQ_WORKER cleared) can stall the pool just as
|
||||||
* effectively as a CPU-bound one, so dump every in-flight worker.
|
* effectively as a CPU-bound one, so dump every in-flight worker.
|
||||||
*/
|
*/
|
||||||
static void show_cpu_pool_hog(struct worker_pool *pool)
|
static void show_cpu_pool_busy_workers(struct worker_pool *pool)
|
||||||
{
|
{
|
||||||
struct worker *worker;
|
struct worker *worker;
|
||||||
unsigned long irq_flags;
|
unsigned long irq_flags;
|
||||||
@@ -7612,18 +7612,18 @@ static void show_cpu_pool_hog(struct worker_pool *pool)
|
|||||||
raw_spin_unlock_irqrestore(&pool->lock, irq_flags);
|
raw_spin_unlock_irqrestore(&pool->lock, irq_flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void show_cpu_pools_hogs(void)
|
static void show_cpu_pools_busy_workers(void)
|
||||||
{
|
{
|
||||||
struct worker_pool *pool;
|
struct worker_pool *pool;
|
||||||
int pi;
|
int pi;
|
||||||
|
|
||||||
pr_info("Showing backtraces of busy workers in stalled CPU-bound worker pools:\n");
|
pr_info("Showing backtraces of busy workers in stalled worker pools:\n");
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
|
|
||||||
for_each_pool(pool, pi) {
|
for_each_pool(pool, pi) {
|
||||||
if (pool->cpu_stall)
|
if (pool->cpu_stall)
|
||||||
show_cpu_pool_hog(pool);
|
show_cpu_pool_busy_workers(pool);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7720,7 +7720,7 @@ static void wq_watchdog_timer_fn(struct timer_list *unused)
|
|||||||
show_all_workqueues();
|
show_all_workqueues();
|
||||||
|
|
||||||
if (cpu_pool_stall)
|
if (cpu_pool_stall)
|
||||||
show_cpu_pools_hogs();
|
show_cpu_pools_busy_workers();
|
||||||
|
|
||||||
if (lockup_detected)
|
if (lockup_detected)
|
||||||
panic_on_wq_watchdog(max_stall_time);
|
panic_on_wq_watchdog(max_stall_time);
|
||||||
|
|||||||
Reference in New Issue
Block a user