Skip to content

Commit

Permalink
lockdep: Print more info when MAX_LOCK_DEPTH is exceeded
Browse files Browse the repository at this point in the history
This helps debug cases where a lock is acquired over and
over without being released.

Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ben Greear <greearb@candelatech.com>
Cc: peterz@infradead.org
Link: http://lkml.kernel.org/r/1360176979-4421-1-git-send-email-greearb@candelatech.com
[ Changed the printout ordering. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
  • Loading branch information
greearb authored and Ingo Molnar committed Feb 19, 2013
1 parent ce6711f commit c054060
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion kernel/lockdep.c
Expand Up @@ -3190,9 +3190,14 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass,
#endif
if (unlikely(curr->lockdep_depth >= MAX_LOCK_DEPTH)) {
debug_locks_off();
printk("BUG: MAX_LOCK_DEPTH too low!\n");
printk("BUG: MAX_LOCK_DEPTH too low, depth: %i max: %lu!\n",
curr->lockdep_depth, MAX_LOCK_DEPTH);
printk("turning off the locking correctness validator.\n");

lockdep_print_held_locks(current);
debug_show_all_locks();
dump_stack();

return 0;
}

Expand Down

0 comments on commit c054060

Please sign in to comment.