All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yong Zhang <yong.zhang0@gmail.com>
To: tom.leiming@gmail.com
Cc: mingo@elte.hu, a.p.zijlstra@chello.nl, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] lockdep: print lock name for lockdep_init_error
Date: Thu, 17 Nov 2011 14:02:15 +0800	[thread overview]
Message-ID: <20111117060215.GB15644@zhy> (raw)
In-Reply-To: <1321508072-23853-2-git-send-email-tom.leiming@gmail.com>

On Thu, Nov 17, 2011 at 01:34:32PM +0800, tom.leiming@gmail.com wrote:
> From: Ming Lei <tom.leiming@gmail.com>
> 
> This patch prints the name of the lock which is acquired
> before lockdep_init is called, so that user can easily find
> which lock trigged the lockdep init error warning.

Should we care about that?

I think lockdep_init() called early enough give more hint.
Such as be the first C function called by arch.

Thanks,
Yong

> 
> This patch also removes the lockdep_init_error message
> of "Arch code didn't call lockdep_init() early enough?" since
> lockdep_init is called in arch independent code now.
> 
> Signed-off-by: Ming Lei <tom.leiming@gmail.com>
> ---
>  kernel/lockdep.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/kernel/lockdep.c b/kernel/lockdep.c
> index 4e7e672..8141317 100644
> --- a/kernel/lockdep.c
> +++ b/kernel/lockdep.c
> @@ -430,6 +430,7 @@ unsigned int max_lockdep_depth;
>   * about it later on, in lockdep_info().
>   */
>  static int lockdep_init_error;
> +static const char *lock_init_error;
>  static unsigned long lockdep_init_trace_data[20];
>  static struct stack_trace lockdep_init_trace = {
>  	.max_entries = ARRAY_SIZE(lockdep_init_trace_data),
> @@ -651,6 +652,7 @@ look_up_lock_class(struct lockdep_map *lock, unsigned int subclass)
>  	if (unlikely(!lockdep_initialized)) {
>  		lockdep_init();
>  		lockdep_init_error = 1;
> +		lock_init_error = lock->name;
>  		save_stack_trace(&lockdep_init_trace);
>  	}
>  #endif
> @@ -3965,7 +3967,8 @@ void __init lockdep_info(void)
>  
>  #ifdef CONFIG_DEBUG_LOCKDEP
>  	if (lockdep_init_error) {
> -		printk("WARNING: lockdep init error! Arch code didn't call lockdep_init() early enough?\n");
> +		printk("WARNING: lockdep init error! lock-%s was acquired"
> +			"before lockdep_init\n", lock_init_error);
>  		printk("Call stack leading to lockdep invocation was:\n");
>  		print_stack_trace(&lockdep_init_trace, 0);
>  	}
> -- 
> 1.7.5.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
Only stand for myself

  reply	other threads:[~2011-11-17  6:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-17  5:34 [PATCH 1/2] init/main.c: execute lockdep_init as early as possible tom.leiming
2011-11-17  5:34 ` [PATCH 2/2] lockdep: print lock name for lockdep_init_error tom.leiming
2011-11-17  6:02   ` Yong Zhang [this message]
2011-11-17  8:01     ` Ming Lei
2011-11-17  8:44       ` Yong Zhang
2011-11-17  9:01         ` Peter Zijlstra
2011-11-17 21:50   ` Ryan Mallon
2011-12-06  9:41   ` [tip:core/locking] lockdep: Print lock name in lockdep_init_error() tip-bot for Ming Lei
2011-11-17  5:59 ` [PATCH 1/2] init/main.c: execute lockdep_init as early as possible Yong Zhang
2011-12-06  9:40 ` [tip:core/locking] init/main.c: Execute lockdep_init() " tip-bot for Ming Lei

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=20111117060215.GB15644@zhy \
    --to=yong.zhang0@gmail.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tom.leiming@gmail.com \
    /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.