All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Stephen Boyd <sboyd@codeaurora.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] spinlock_debug: Print kallsyms name for lock
Date: Mon, 23 Apr 2012 14:54:31 -0700	[thread overview]
Message-ID: <20120423145431.617c2b01.akpm@linux-foundation.org> (raw)
In-Reply-To: <1335217525-30709-2-git-send-email-sboyd@codeaurora.org>

On Mon, 23 Apr 2012 14:45:25 -0700
Stephen Boyd <sboyd@codeaurora.org> wrote:

> 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.

hm.  Is this true?  From my reading of kallsyms_lookup(), it will fall
into module_address_lookup() whcih is a no-op if !CONFIG_MODULES.

> --- 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)
>  	printk(KERN_EMERG "BUG: spinlock %s on CPU#%d, %s/%d\n",
>  		msg, raw_smp_processor_id(),
>  		current->comm, task_pid_nr(current));
> -	printk(KERN_EMERG " lock: %p, .magic: %08x, .owner: %s/%d, "
> +	printk(KERN_EMERG " lock: %ps, .magic: %08x, .owner: %s/%d, "
>  			".owner_cpu: %d\n",
>  		lock, lock->magic,
>  		owner ? owner->comm : "<none>",

Maybe.  It will only do useful things for statically-allocated locks
which are rare and which we are unlikely to screw up as easily as locks
which lie in dynamically allocated memory.

  reply	other threads:[~2012-04-23 21:54 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-23 21:45 [PATCH 1/2] vsprintf: Fix %ps on non symbols when using kallsyms Stephen Boyd
2012-04-23 21:45 ` [PATCH 2/2] spinlock_debug: Print kallsyms name for lock Stephen Boyd
2012-04-23 21:54   ` Andrew Morton [this message]
2012-04-24  3:17     ` Stephen Boyd
2012-04-24 21:54       ` Andrew Morton
2012-05-10 18:53         ` Stephen Boyd
2012-04-23 21:55 ` [PATCH 1/2] vsprintf: Fix %ps on non symbols when using kallsyms Andrew Morton
2012-07-26  1:38   ` Stephen Boyd

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120423145431.617c2b01.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sboyd@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.