All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] init/main.c: execute lockdep_init as early as possible
@ 2011-11-17  5:34 tom.leiming
  2011-11-17  5:34 ` [PATCH 2/2] lockdep: print lock name for lockdep_init_error tom.leiming
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: tom.leiming @ 2011-11-17  5:34 UTC (permalink / raw)
  To: mingo, a.p.zijlstra; +Cc: linux-kernel, Ming Lei

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


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] lockdep: print lock name for lockdep_init_error
  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 ` tom.leiming
  2011-11-17  6:02   ` Yong Zhang
                     ` (2 more replies)
  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
  2 siblings, 3 replies; 10+ messages in thread
From: tom.leiming @ 2011-11-17  5:34 UTC (permalink / raw)
  To: mingo, a.p.zijlstra; +Cc: linux-kernel, Ming Lei

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.

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


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] init/main.c: execute lockdep_init as early as possible
  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  5:59 ` Yong Zhang
  2011-12-06  9:40 ` [tip:core/locking] init/main.c: Execute lockdep_init() " tip-bot for Ming Lei
  2 siblings, 0 replies; 10+ messages in thread
From: Yong Zhang @ 2011-11-17  5:59 UTC (permalink / raw)
  To: tom.leiming; +Cc: mingo, a.p.zijlstra, linux-kernel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] lockdep: print lock name for lockdep_init_error
  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 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
  2 siblings, 1 reply; 10+ messages in thread
From: Yong Zhang @ 2011-11-17  6:02 UTC (permalink / raw)
  To: tom.leiming; +Cc: mingo, a.p.zijlstra, linux-kernel

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] lockdep: print lock name for lockdep_init_error
  2011-11-17  6:02   ` Yong Zhang
@ 2011-11-17  8:01     ` Ming Lei
  2011-11-17  8:44       ` Yong Zhang
  0 siblings, 1 reply; 10+ messages in thread
From: Ming Lei @ 2011-11-17  8:01 UTC (permalink / raw)
  To: Yong Zhang; +Cc: mingo, a.p.zijlstra, linux-kernel

Hi,

Thanks for your review.

On Thu, Nov 17, 2011 at 2:02 PM, Yong Zhang <yong.zhang0@gmail.com> wrote:
> 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?

Yes, we should, see below.

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

Maybe not early enough, before start_kernel is executed, arch
asm code still can call some C function, can't it?

The patch is just an improvement on original lockdep_init_error
detect, plus fix on incorrect debug message.

thanks,
-- 
Ming Lei

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] lockdep: print lock name for lockdep_init_error
  2011-11-17  8:01     ` Ming Lei
@ 2011-11-17  8:44       ` Yong Zhang
  2011-11-17  9:01         ` Peter Zijlstra
  0 siblings, 1 reply; 10+ messages in thread
From: Yong Zhang @ 2011-11-17  8:44 UTC (permalink / raw)
  To: Ming Lei; +Cc: mingo, a.p.zijlstra, linux-kernel

On Thu, Nov 17, 2011 at 04:01:16PM +0800, Ming Lei wrote:
> Hi,
> 
> Thanks for your review.
> 
> On Thu, Nov 17, 2011 at 2:02 PM, Yong Zhang <yong.zhang0@gmail.com> wrote:
> > 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?
> 
> Yes, we should, see below.
> 
> >
> > I think lockdep_init() called early enough give more hint.
> > Such as be the first C function called by arch.
> 
> Maybe not early enough, before start_kernel is executed, arch
> asm code still can call some C function, can't it?

To me that still means 'Arch code didn't call lockdep_init()
early enough'.

But anyway, let Peter/Ingo decide it.

Thanks,
Yong

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] lockdep: print lock name for lockdep_init_error
  2011-11-17  8:44       ` Yong Zhang
@ 2011-11-17  9:01         ` Peter Zijlstra
  0 siblings, 0 replies; 10+ messages in thread
From: Peter Zijlstra @ 2011-11-17  9:01 UTC (permalink / raw)
  To: Yong Zhang; +Cc: Ming Lei, mingo, linux-kernel

On Thu, 2011-11-17 at 16:44 +0800, Yong Zhang wrote:
> On Thu, Nov 17, 2011 at 04:01:16PM +0800, Ming Lei wrote:

> To me that still means 'Arch code didn't call lockdep_init()
> early enough'.
> 
> But anyway, let Peter/Ingo decide it.

I kinda like the hint as to what might have ran too early, so I've
queued it.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] lockdep: print lock name for lockdep_init_error
  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 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
  2 siblings, 0 replies; 10+ messages in thread
From: Ryan Mallon @ 2011-11-17 21:50 UTC (permalink / raw)
  To: tom.leiming; +Cc: mingo, a.p.zijlstra, linux-kernel

On 17/11/11 16:34, 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.
> 
> 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;


You can now remove lockdep_init_error and just test against
lock_init_error below instead.

~Ryan

>  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);
>  	}



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [tip:core/locking] init/main.c: Execute lockdep_init() as early as possible
  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  5:59 ` [PATCH 1/2] init/main.c: execute lockdep_init as early as possible Yong Zhang
@ 2011-12-06  9:40 ` tip-bot for Ming Lei
  2 siblings, 0 replies; 10+ messages in thread
From: tip-bot for Ming Lei @ 2011-12-06  9:40 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, hpa, mingo, torvalds, a.p.zijlstra, akpm, tglx,
	yong.zhang0, tom.leiming, mingo

Commit-ID:  73839c5b2eacc15cb0aa79c69b285fc659fa8851
Gitweb:     http://git.kernel.org/tip/73839c5b2eacc15cb0aa79c69b285fc659fa8851
Author:     Ming Lei <tom.leiming@gmail.com>
AuthorDate: Thu, 17 Nov 2011 13:34:31 +0800
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Tue, 6 Dec 2011 08:16:53 +0100

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>
---
 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();
 
 	/*

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [tip:core/locking] lockdep: Print lock name in lockdep_init_error()
  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 21:50   ` Ryan Mallon
@ 2011-12-06  9:41   ` tip-bot for Ming Lei
  2 siblings, 0 replies; 10+ messages in thread
From: tip-bot for Ming Lei @ 2011-12-06  9:41 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, hpa, mingo, a.p.zijlstra, tglx, tom.leiming, mingo

Commit-ID:  81140acc66322dcde8346dabdf1ab4c229fce8d4
Gitweb:     http://git.kernel.org/tip/81140acc66322dcde8346dabdf1ab4c229fce8d4
Author:     Ming Lei <tom.leiming@gmail.com>
AuthorDate: Thu, 17 Nov 2011 13:34:32 +0800
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Tue, 6 Dec 2011 08:16:55 +0100

lockdep: Print lock name in lockdep_init_error()

This patch prints the name of the lock which is acquired
before lockdep_init() is called, so that users can easily
find which lock triggered the lockdep init error warning.

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>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1321508072-23853-2-git-send-email-tom.leiming@gmail.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 kernel/lockdep.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/kernel/lockdep.c b/kernel/lockdep.c
index 54cc0dc..e69d633 100644
--- a/kernel/lockdep.c
+++ b/kernel/lockdep.c
@@ -431,6 +431,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),
@@ -657,6 +658,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
@@ -3978,7 +3980,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);
 	}

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-12-06  9:41 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [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

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.