]> git.baikalelectronics.ru Git - kernel.git/commit
mutex: Add support for wound/wait style locks
authorMaarten Lankhorst <maarten.lankhorst@canonical.com>
Mon, 24 Jun 2013 08:30:04 +0000 (10:30 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 26 Jun 2013 10:10:56 +0000 (12:10 +0200)
commit032e82bd26a048af0d0f9b8d9a9b70f3c9c8c7d0
tree153e76b27ef95f57ad2055d42b8bb07cb1f8d493
parent99dd6fe82520c74a28e8ab2173968c811bb0c9c9
mutex: Add support for wound/wait style locks

Wound/wait mutexes are used when other multiple lock
acquisitions of a similar type can be done in an arbitrary
order. The deadlock handling used here is called wait/wound in
the RDBMS literature: The older tasks waits until it can acquire
the contended lock. The younger tasks needs to back off and drop
all the locks it is currently holding, i.e. the younger task is
wounded.

For full documentation please read Documentation/ww-mutex-design.txt.

References: https://lwn.net/Articles/548909/
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-sig@lists.linaro.org
Cc: rostedt@goodmis.org
Cc: daniel@ffwll.ch
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/51C8038C.9000106@canonical.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Documentation/ww-mutex-design.txt [new file with mode: 0644]
include/linux/mutex-debug.h
include/linux/mutex.h
kernel/mutex.c
lib/debug_locks.c