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 1/2] init/main.c: execute lockdep_init as early as possible
Date: Thu, 17 Nov 2011 13:59:04 +0800	[thread overview]
Message-ID: <20111117055904.GA15644@zhy> (raw)
In-Reply-To: <1321508072-23853-1-git-send-email-tom.leiming@gmail.com>

On Thu, Nov 17, 2011 at 01:34:31PM +0800, tom.leiming@gmail.com wrote:
> From: Ming Lei <tom.leiming@gmail.com>
> 
> This patch removes the lockdep warning[1] on ARM platform.
> The warning is caused by printk inside smp_setup_processor_id.
> 
> It is safe to do this because lockdep_init doesn't depend on
> smp_setup_processor_id, so make printk can be called as early
> as possible without lockdep complainment.
> 
> [1], lockdep warning
> [    0.000000] WARNING: lockdep init error! Arch code didn't call
> lockdep_init() early enough?
> [    0.000000] Call stack leading to lockdep invocation was:
> [    0.000000]  [<c00164bc>] save_stack_trace_tsk+0x0/0x90
> [    0.000000]  [<ffffffff>] 0xffffffff
> 
> Signed-off-by: Ming Lei <tom.leiming@gmail.com>

Seems start_kernel() is the first C function called in arm.
IOW, this may be the simplest way for your issue.

Reviewed-by: Yong Zhang <yong.zhang0@gmail.com>

> ---
>  init/main.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
> 
> diff --git a/init/main.c b/init/main.c
> index 217ed23..2c76efb 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -469,13 +469,12 @@ asmlinkage void __init start_kernel(void)
>  	char * command_line;
>  	extern const struct kernel_param __start___param[], __stop___param[];
>  
> -	smp_setup_processor_id();
> -
>  	/*
>  	 * Need to run as early as possible, to initialize the
>  	 * lockdep hash:
>  	 */
>  	lockdep_init();
> +	smp_setup_processor_id();
>  	debug_objects_early_init();
>  
>  	/*
> -- 
> 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

  parent reply	other threads:[~2011-11-17  5:59 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
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 ` Yong Zhang [this message]
2011-12-06  9:40 ` [tip:core/locking] init/main.c: Execute lockdep_init() as early as possible 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=20111117055904.GA15644@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.