tree daa64e5de98a668eed4a2ceeb6ca95c478be4053
parent 3f04e8cd5b24727a2500f8ab8f3de730ba47b02c
author Andrew Morton <akpm@linux-foundation.org> 1253386544 -0700
committer Ingo Molnar <mingo@elte.hu> 1253469632 +0200

sched: Fix raciness in runqueue_is_locked()

runqueue_is_locked() is unavoidably racy due to a poor interface design.
It does

	cpu = get_cpu()
	ret = some_perpcu_thing(cpu);
	put_cpu(cpu);
	return ret;

Its return value is unreliable.

Fix.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <200909191855.n8JItiko022148@imap1.linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
