• Ingo Molnar's avatar
    [PATCH] lockdep: better lock debugging · 9a11b49a
    Ingo Molnar authored
    Generic lock debugging:
    
     - generalized lock debugging framework. For example, a bug in one lock
       subsystem turns off debugging in all lock subsystems.
    
     - got rid of the caller address passing (__IP__/__IP_DECL__/etc.) from
       the mutex/rtmutex debugging code: it caused way too much prototype
       hackery, and lockdep will give the same information anyway.
    
     - ability to do silent tests
    
     - check lock freeing in vfree too.
    
     - more finegrained debugging options, to allow distributions to
       turn off more expensive debugging features.
    
    There's no separate 'held mutexes' list anymore - but there's a 'held locks'
    stack within lockdep, which unifies deadlock detection across all lock
    classes.  (this is independent of the lockdep validation stuff - lockdep first
    checks whether we are holding a lock already)
    
    Here are the current debugging options:
    
    CONFIG_DEBUG_MUTEXES=y
    CONFIG_DEBUG_LOCK_ALLOC=y
    
    which do:
    
     config DEBUG_MUTEXES
              bool "Mutex debugging, basic checks"
    
     config DEBUG_LOCK_ALLOC
             bool "Detect incorrect freeing of live mutexes"
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    9a11b49a
Name
Last commit
Last update
..
reed_solomon Loading commit data...
zlib_deflate Loading commit data...
zlib_inflate Loading commit data...
.gitignore Loading commit data...
Kconfig Loading commit data...
Kconfig.debug Loading commit data...
Makefile Loading commit data...
bitmap.c Loading commit data...
bust_spinlocks.c Loading commit data...
cmdline.c Loading commit data...
cpumask.c Loading commit data...
crc-ccitt.c Loading commit data...
crc16.c Loading commit data...
crc32.c Loading commit data...
crc32defs.h Loading commit data...
ctype.c Loading commit data...
debug_locks.c Loading commit data...
dec_and_lock.c Loading commit data...
div64.c Loading commit data...
dump_stack.c Loading commit data...
errno.c Loading commit data...
extable.c Loading commit data...
find_next_bit.c Loading commit data...
gen_crc32table.c Loading commit data...
genalloc.c Loading commit data...
halfmd4.c Loading commit data...
hweight.c Loading commit data...
idr.c Loading commit data...
inflate.c Loading commit data...
int_sqrt.c Loading commit data...
iomap.c Loading commit data...
iomap_copy.c Loading commit data...
kernel_lock.c Loading commit data...
klist.c Loading commit data...
kobject.c Loading commit data...
kobject_uevent.c Loading commit data...
kref.c Loading commit data...
libcrc32c.c Loading commit data...
parser.c Loading commit data...
percpu_counter.c Loading commit data...
plist.c Loading commit data...
prio_tree.c Loading commit data...
radix-tree.c Loading commit data...
rbtree.c Loading commit data...
rwsem-spinlock.c Loading commit data...
rwsem.c Loading commit data...
semaphore-sleepers.c Loading commit data...
sha1.c Loading commit data...
smp_processor_id.c Loading commit data...
sort.c Loading commit data...
spinlock_debug.c Loading commit data...
string.c Loading commit data...
swiotlb.c Loading commit data...
textsearch.c Loading commit data...
ts_bm.c Loading commit data...
ts_fsm.c Loading commit data...
ts_kmp.c Loading commit data...
vsprintf.c Loading commit data...