linux-kernel.vger.kernel.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).