diff options
author | Stephen Boyd <sboyd@codeaurora.org> | 2012-05-29 18:07:34 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-29 19:22:33 -0400 |
commit | fd0a37355c4d39affa39d5cd75168fb94b292318 (patch) | |
tree | 66bdbffce2ce960ff4566ed9dd6bd0e5e6f0eee2 /lib/spinlock_debug.c | |
parent | 4796dd200db943e36f876e7029552212e5bbdf33 (diff) |
spinlock_debug: print kallsyms name for lock
When a spinlock warning is printed we usually get
BUG: spinlock bad magic on CPU#0, modprobe/111
lock: 0xdff09f38, .magic: 00000000, .owner: /0, .owner_cpu: 0
but it's nicer to print the symbol for the lock if we have it so that we
can avoid 'grep dff09f38 /proc/kallsyms' to find out which lock it was.
Use kallsyms to print the symbol name so we get something a bit easier to
read
BUG: spinlock bad magic on CPU#0, modprobe/112
lock: test_lock, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
If the lock is not in kallsyms %ps will fall back to printing the address
directly.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/spinlock_debug.c')
-rw-r--r-- | lib/spinlock_debug.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/spinlock_debug.c b/lib/spinlock_debug.c index 525d160d44f0..d0ec4f3d1593 100644 --- a/lib/spinlock_debug.c +++ b/lib/spinlock_debug.c | |||
@@ -58,7 +58,7 @@ static void spin_dump(raw_spinlock_t *lock, const char *msg) | |||
58 | printk(KERN_EMERG "BUG: spinlock %s on CPU#%d, %s/%d\n", | 58 | printk(KERN_EMERG "BUG: spinlock %s on CPU#%d, %s/%d\n", |
59 | msg, raw_smp_processor_id(), | 59 | msg, raw_smp_processor_id(), |
60 | current->comm, task_pid_nr(current)); | 60 | current->comm, task_pid_nr(current)); |
61 | printk(KERN_EMERG " lock: %p, .magic: %08x, .owner: %s/%d, " | 61 | printk(KERN_EMERG " lock: %ps, .magic: %08x, .owner: %s/%d, " |
62 | ".owner_cpu: %d\n", | 62 | ".owner_cpu: %d\n", |
63 | lock, lock->magic, | 63 | lock, lock->magic, |
64 | owner ? owner->comm : "<none>", | 64 | owner ? owner->comm : "<none>", |