diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2012-03-02 10:36:57 -0500 |
---|---|---|
committer | Clark Williams <williams@redhat.com> | 2012-04-10 16:41:06 -0500 |
commit | 85ee856381620276fedb26b4ab8d95c25101222f (patch) | |
tree | 98fc2fe47e2188954cb9a07f16a592b1203a6a45 /include/linux/preempt.h | |
parent | 5f922cc3fd983c000f8dc89a141c098cffa374ac (diff) |
cpu: Make hotplug.lock a "sleeping" spinlock on RT
Tasks can block on hotplug.lock in pin_current_cpu(), but their state
might be != RUNNING. So the mutex wakeup will set the state
unconditionally to RUNNING. That might cause spurious unexpected
wakeups. We could provide a state preserving mutex_lock() function,
but this is semantically backwards. So instead we convert the
hotplug.lock() to a spinlock for RT, which has the state preserving
semantics already.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Carsten Emde <C.Emde@osadl.org>
Cc: John Kacur <jkacur@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Clark Williams <clark.williams@gmail.com>
Cc: stable-rt@vger.kernel.org
Link: http://lkml.kernel.org/r/1330702617.25686.265.camel@gandalf.stny.rr.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/preempt.h')
0 files changed, 0 insertions, 0 deletions