Messages in this thread Patch in this message | | | Date | Wed, 23 Aug 2017 13:58:44 +0200 | From | Peter Zijlstra <> | Subject | [PATCH 1/4] 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> --- --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -2249,7 +2249,7 @@ static int worker_thread(void *__worker) * event. */ worker_enter_idle(worker); - __set_current_state(TASK_INTERRUPTIBLE); + __set_current_state(TASK_IDLE); spin_unlock_irq(&pool->lock); schedule(); goto woke_up; @@ -2291,7 +2291,7 @@ static int rescuer_thread(void *__rescue */ 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
| |