Messages in this thread Patch in this message | | | Date | Tue, 22 Aug 2017 11:42:51 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH v3 1/3] lockdep: Make LOCKDEP_CROSSRELEASE configs all part of PROVE_LOCKING |
| |
TJ, afaict the workqueue stuff doesn't in fact use signals, right?
Should we do the below? That is, the only reason it appears to use INTERRUPTIBLE is to avoid increasing the loadavg, and we've introduced IDLE for that a while back:
80ed87c8a9ca ("sched/wait: Introduce TASK_NOLOAD and TASK_IDLE")
--- diff --git a/kernel/workqueue.c b/kernel/workqueue.c index f128b3becfe1..737a079480e8 100644 --- 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 *__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
| |