From c9cf7a34892f415c473689ecd7cb82815481e39c Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 7 Jun 2012 09:49:40 -0400 Subject: [001/256] Revert "workqueue: skip nr_running sanity check in worker_enter_idle() if trustee is active" This reverts commit 24312d34c95702e51240f58c073db30630170fbf. 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 7da267c..5abf42f 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -1210,13 +1210,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))); }