diff options
| author | Kirill Tkhai <[email protected]> | 2013-07-04 22:48:20 +0400 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2013-07-12 13:54:03 +0200 |
| commit | cedce3e730833d26a37826a96e1905b6ef387df9 (patch) | |
| tree | 10c980e22742f188d40366d2745bfe8c5712f15c /kernel | |
| parent | 971ee28cbd1ccd87b3164facd9359a534c1d2892 (diff) | |
sched/__wake_up_sync_key(): Fix nr_exclusive tasks which lead to WF_SYNC clearing
Only one task can replace the waker.
Signed-off-by: Kirill Tkhai <[email protected]>
CC: Steven Rostedt <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 0d8eb4525e76..f73787159188 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2660,7 +2660,7 @@ void __wake_up_sync_key(wait_queue_head_t *q, unsigned int mode, if (unlikely(!q)) return; - if (unlikely(!nr_exclusive)) + if (unlikely(nr_exclusive != 1)) wake_flags = 0; spin_lock_irqsave(&q->lock, flags); |