init/main.c: Execute lockdep_init() as early as possible
This patch fixes a lockdep warning on ARM platforms: [ 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 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 improve things that printk can be called as early as possible without lockdep complaint. Signed-off-by: Ming Lei <tom.leiming@gmail.com> Reviewed-by: Yong Zhang <yong.zhang0@gmail.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Link: http://lkml.kernel.org/r/1321508072-23853-1-git-send-email-tom.leiming@gmail.com Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
d3d03d4fc5
Коммит
73839c5b2e
|
@ -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();
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче