From 4849a4ba1ea32ff6c5733e5371c2341724dd0853 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Wed, 6 Jun 2012 17:07:34 -0400 Subject: [PATCH 001/286] Revert "workqueue: skip nr_running sanity check in worker_enter_idle() if trustee is active" This reverts commit 5d79c6f64a904afc92a329f80abe693e3ae105fe. Reported-by: Ibrahim Umar Signed-off-by: Steven Rostedt --- kernel/workqueue.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/kernel/workqueue.c b/kernel/workqueue.c index b413138..0828b8e 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))); }