linux/debian/patches/features/all/rt/revert-workqueue-skip-nr_ru...

36 lines
1.1 KiB
Diff

From: Ben Hutchings <ben@decadent.org.uk>
Date: Thu, 31 May 2012 02:58:44 +0100
Subject: [PATCH] Revert "workqueue: skip nr_running sanity check in
worker_enter_idle() if trustee is active"
This reverts commit 5d79c6f64a904afc92a329f80abe693e3ae105fe.
It conflicts with, and appears to be unnecessary for, the PREEMPT_RT
series.
---
kernel/workqueue.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 7947e16..bb425b1 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -1215,13 +1215,8 @@ static void worker_enter_idle(struct worker *worker)
} else
wake_up_all(&gcwq->trustee_wait);
- /*
- * Sanity check nr_running. Because trustee releases gcwq->lock
- * between setting %WORKER_ROGUE and zapping nr_running, the
- * warning may trigger spuriously. Check iff trustee is idle.
- */
- WARN_ON_ONCE(gcwq->trustee_state == TRUSTEE_DONE &&
- gcwq->nr_workers == gcwq->nr_idle &&
+ /* sanity check nr_running */
+ WARN_ON_ONCE(gcwq->nr_workers == gcwq->nr_idle &&
atomic_read(get_gcwq_nr_running(gcwq->cpu)));
}
--
1.7.10