Peter Zijlstra
e7904a28f5
locking/lockdep, sched/core: Implement a better lock pinning scheme
...
The problem with the existing lock pinning is that each pin is of
value 1; this mean you can simply unpin if you know its pinned,
without having any extra information.
This scheme generates a random (16 bit) cookie for each pin and
requires this same cookie to unpin. This means you have to keep the
cookie in context.
No objsize difference for !LOCKDEP kernels.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-05-05 09:23:59 +02:00
..
lglock.c
sched/stop_machine: Fix deadlock between multiple stop_two_cpus()
2015-06-19 10:03:12 +02:00
lockdep.c
locking/lockdep, sched/core: Implement a better lock pinning scheme
2016-05-05 09:23:59 +02:00
lockdep_internals.h
lockdep_proc.c
treewide: Remove old email address
2015-11-23 09:44:58 +01:00
lockdep_states.h
locktorture.c
Merge branches 'doc.2015.10.06a', 'percpu-rwsem.2015.10.06a' and 'torture.2015.10.06a' into HEAD
2015-10-07 16:06:25 -07:00
Makefile
kernel: add kcov code coverage
2016-03-22 15:36:02 -07:00
mcs_spinlock.h
locking/mcs: Fix mcs_spin_lock() ordering
2016-02-29 10:02:41 +01:00
mutex-debug.c
mutex: Always clear owner field upon mutex_unlock()
2015-01-09 11:20:39 +01:00
mutex-debug.h
mutex.c
locking/mutex: Allow next waiter lockless wakeup
2016-02-29 10:02:42 +01:00
mutex.h
locking/mutexes: Use MUTEX_SPIN_ON_OWNER when appropriate
2014-08-13 10:32:02 +02:00
osq_lock.c
locking/osq: Fix ordering of node initialisation in osq_lock
2015-12-17 11:40:29 -08:00
percpu-rwsem.c
locking/percpu-rwsem: Clean up the lockdep annotations in percpu_down_read()
2015-10-06 11:25:40 -07:00
qrwlock.c
locking/qrwlock: Rename ->lock to ->wait_lock
2015-09-18 09:27:29 +02:00
qspinlock.c
locking/qspinlock: Use smp_cond_acquire() in pending code
2016-02-29 10:02:42 +01:00
qspinlock_paravirt.h
locking/pvqspinlock: Enable slowpath locking count tracking
2016-02-29 10:02:42 +01:00
qspinlock_stat.h
locking/pvqspinlock: Fix division by zero in qstat_read()
2016-04-19 10:49:19 +02:00
rtmutex-debug.c
rtmutex: Cleanup deadlock detector debug logic
2014-06-21 22:05:30 +02:00
rtmutex-debug.h
rtmutex: Cleanup deadlock detector debug logic
2014-06-21 22:05:30 +02:00
rtmutex.c
rtmutex: Make wait_lock irq safe
2016-01-26 11:08:35 +01:00
rtmutex.h
rtmutex: Cleanup deadlock detector debug logic
2014-06-21 22:05:30 +02:00
rtmutex_common.h
rtmutex: Delete scriptable tester
2015-07-20 11:45:45 +02:00
rwsem-spinlock.c
locking/rwsem: Document barrier need when waking tasks
2015-02-18 16:57:10 +01:00
rwsem-xadd.c
locking/rwsem: Use acquire/release semantics
2015-10-06 17:28:24 +02:00
rwsem.c
locking/rwsem: Set lock ownership ASAP
2015-02-18 16:57:13 +01:00
rwsem.h
locking/rwsem: Set lock ownership ASAP
2015-02-18 16:57:13 +01:00
semaphore.c
locking/semaphore: Resolve some shadow warnings
2014-09-04 07:17:24 +02:00
spinlock.c
spinlock: Add spin_lock_bh_nested()
2015-01-03 14:32:57 -05:00
spinlock_debug.c