linux/debian/patches/features/all/rt/0001-Revert-workqueue-skip-...

36 lines
1.2 KiB
Diff

From 176459e7ddb8f43845817a1c9341cacaeb9cad36 Mon Sep 17 00:00:00 2001
From: Steven Rostedt <rostedt@goodmis.org>
Date: Thu, 7 Jun 2012 09:49:40 -0400
Subject: [001/254] Revert "workqueue: skip nr_running sanity check in
worker_enter_idle() if trustee is active"
This reverts commit 24312d34c95702e51240f58c073db30630170fbf.
Reported-by: Ibrahim Umar <iambaim@gmail.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
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)));
}