summaryrefslogtreecommitdiffstats
path: root/drivers/hwspinlock
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2014-06-05 12:34:23 +0200
committerThomas Gleixner <tglx@linutronix.de>2014-06-07 14:55:40 +0200
commit3d5c9340d1949733eb37616abd15db36aef9a57c (patch)
tree257ce62564f206a530ba6b0aedf732a2dee0b6d2 /drivers/hwspinlock
parent951e273060d15b233a7f7ccaf76ba682b5b05a03 (diff)
downloadblackbird-op-linux-3d5c9340d1949733eb37616abd15db36aef9a57c.tar.gz
blackbird-op-linux-3d5c9340d1949733eb37616abd15db36aef9a57c.zip
rtmutex: Handle deadlock detection smarter
Even in the case when deadlock detection is not requested by the caller, we can detect deadlocks. Right now the code stops the lock chain walk and keeps the waiter enqueued, even on itself. Silly not to yell when such a scenario is detected and to keep the waiter enqueued. Return -EDEADLK unconditionally and handle it at the call sites. The futex calls return -EDEADLK. The non futex ones dequeue the waiter, throw a warning and put the task into a schedule loop. Tagged for stable as it makes the code more robust. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Brad Mouring <bmouring@ni.com> Link: http://lkml.kernel.org/r/20140605152801.836501969@linutronix.de Cc: stable@vger.kernel.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/hwspinlock')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud