diff options
author | Peter Zijlstra <peterz@infradead.org> | 2017-08-23 13:58:44 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2017-08-23 06:30:35 -0700 |
commit | c5a94a618e7ac86b20f53d947f68d7cee6a4c6bc (patch) | |
tree | 136591eb3dc6b874195b74a88dabed8335feaa2d /kernel/workqueue.c | |
parent | 9a2614916ac564d6ea1d0a5cb986298bc508c3bf (diff) | |
download | lwn-c5a94a618e7ac86b20f53d947f68d7cee6a4c6bc.tar.gz lwn-c5a94a618e7ac86b20f53d947f68d7cee6a4c6bc.zip |
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:
80ed87c8a9ca ("sched/wait: Introduce TASK_NOLOAD and TASK_IDLE")
use it.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r-- | kernel/workqueue.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 4fa6c7650f09..2d278b9a5469 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -2247,7 +2247,7 @@ sleep: * event. */ worker_enter_idle(worker); - __set_current_state(TASK_INTERRUPTIBLE); + __set_current_state(TASK_IDLE); spin_unlock_irq(&pool->lock); schedule(); goto woke_up; @@ -2289,7 +2289,7 @@ static int rescuer_thread(void *__rescuer) */ rescuer->task->flags |= PF_WQ_WORKER; repeat: - set_current_state(TASK_INTERRUPTIBLE); + set_current_state(TASK_IDLE); /* * By the time the rescuer is requested to stop, the workqueue |