Commit cc5bff38 authored by Lai Jiangshan's avatar Lai Jiangshan Committed by Tejun Heo

workqueue: Use wake_up_worker() in wq_worker_sleeping() instead of open code

The wakeup code in wq_worker_sleeping() is the same as wake_up_worker().
Signed-off-by: default avatarLai Jiangshan <laijs@linux.alibaba.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 2c1f1a91
...@@ -887,7 +887,7 @@ void wq_worker_running(struct task_struct *task) ...@@ -887,7 +887,7 @@ void wq_worker_running(struct task_struct *task)
*/ */
void wq_worker_sleeping(struct task_struct *task) void wq_worker_sleeping(struct task_struct *task)
{ {
struct worker *next, *worker = kthread_data(task); struct worker *worker = kthread_data(task);
struct worker_pool *pool; struct worker_pool *pool;
/* /*
...@@ -918,11 +918,8 @@ void wq_worker_sleeping(struct task_struct *task) ...@@ -918,11 +918,8 @@ void wq_worker_sleeping(struct task_struct *task)
} }
if (atomic_dec_and_test(&pool->nr_running) && if (atomic_dec_and_test(&pool->nr_running) &&
!list_empty(&pool->worklist)) { !list_empty(&pool->worklist))
next = first_idle_worker(pool); wake_up_worker(pool);
if (next)
wake_up_process(next->task);
}
raw_spin_unlock_irq(&pool->lock); raw_spin_unlock_irq(&pool->lock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment