Commit c5a94a61 authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Tejun Heo

workqueue: Use TASK_IDLE

Workqueues don't use signals, it (ab)uses TASK_INTERRUPTIBLE to avoid
increasing the loadavg numbers. We've 'recently' introduced TASK_IDLE
for this case:

  80ed87c8 ("sched/wait: Introduce TASK_NOLOAD and TASK_IDLE")

use it.
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 9a261491
...@@ -2247,7 +2247,7 @@ static int worker_thread(void *__worker) ...@@ -2247,7 +2247,7 @@ static int worker_thread(void *__worker)
* event. * event.
*/ */
worker_enter_idle(worker); worker_enter_idle(worker);
__set_current_state(TASK_INTERRUPTIBLE); __set_current_state(TASK_IDLE);
spin_unlock_irq(&pool->lock); spin_unlock_irq(&pool->lock);
schedule(); schedule();
goto woke_up; goto woke_up;
...@@ -2289,7 +2289,7 @@ static int rescuer_thread(void *__rescuer) ...@@ -2289,7 +2289,7 @@ static int rescuer_thread(void *__rescuer)
*/ */
rescuer->task->flags |= PF_WQ_WORKER; rescuer->task->flags |= PF_WQ_WORKER;
repeat: repeat:
set_current_state(TASK_INTERRUPTIBLE); set_current_state(TASK_IDLE);
/* /*
* By the time the rescuer is requested to stop, the workqueue * By the time the rescuer is requested to stop, the workqueue
......
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