[PATCH][RESEND] tracing: Fix lockdep warning in global_clock()

Previous thread: [GIT PULL] sh updates for 2.6.34-rc3 by Paul Mundt on Tuesday, March 23, 2010 - 7:38 pm. (1 message)

Next thread: [PATCH 1/3] tracing: Reduce overhead of module tracepoints by Li Zefan on Tuesday, March 23, 2010 - 7:57 pm. (15 messages)
From: Li Zefan
Date: Tuesday, March 23, 2010 - 7:57 pm

# echo 1 > events/enable
 # echo global > trace_clock

------------[ cut here ]------------
WARNING: at kernel/lockdep.c:3162 check_flags+0xb2/0x190()
...
---[ end trace 3f86734a89416623 ]---
possible reason: unannotated irqs-on.
...

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
---
 kernel/trace/trace_clock.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/trace/trace_clock.c b/kernel/trace/trace_clock.c
index 6fbfb8f..9d589d8 100644
--- a/kernel/trace/trace_clock.c
+++ b/kernel/trace/trace_clock.c
@@ -84,7 +84,7 @@ u64 notrace trace_clock_global(void)
 	int this_cpu;
 	u64 now;
 
-	raw_local_irq_save(flags);
+	local_irq_save(flags);
 
 	this_cpu = raw_smp_processor_id();
 	now = cpu_clock(this_cpu);
@@ -110,7 +110,7 @@ u64 notrace trace_clock_global(void)
 	arch_spin_unlock(&trace_clock_struct.lock);
 
  out:
-	raw_local_irq_restore(flags);
+	local_irq_restore(flags);
 
 	return now;
 }
-- 
1.6.3

--

From: Steven Rostedt
Date: Tuesday, March 23, 2010 - 8:03 pm

Peter,

I see no problem with this patch, but I do want your Acked-by for it.

Thanks,



--

From: Peter Zijlstra
Date: Wednesday, March 24, 2010 - 6:01 am

From: tip-bot for Li Zefan
Date: Friday, March 26, 2010 - 7:03 pm

Commit-ID:  581fe9449d181f6bd5afc5dcae37526eeee02b1d
Gitweb:     http://git.kernel.org/tip/581fe9449d181f6bd5afc5dcae37526eeee02b1d
Author:     Li Zefan <lizf@cn.fujitsu.com>
AuthorDate: Wed, 24 Mar 2010 10:57:37 +0800
Committer:  Steven Rostedt <rostedt@goodmis.org>
CommitDate: Fri, 26 Mar 2010 15:41:59 -0400

tracing: Fix lockdep warning in global_clock()

# echo 1 > events/enable
 # echo global > trace_clock

------------[ cut here ]------------
WARNING: at kernel/lockdep.c:3162 check_flags+0xb2/0x190()
...
---[ end trace 3f86734a89416623 ]---
possible reason: unannotated irqs-on.
...

There's no reason to use the raw_local_irq_save() in trace_clock_global.
The local_irq_save() version is fine, and does not cause the bug in lockdep.

Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
LKML-Reference: <4BA97FA1.7030606@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/trace/trace_clock.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/trace/trace_clock.c b/kernel/trace/trace_clock.c
index 6fbfb8f..9d589d8 100644
--- a/kernel/trace/trace_clock.c
+++ b/kernel/trace/trace_clock.c
@@ -84,7 +84,7 @@ u64 notrace trace_clock_global(void)
 	int this_cpu;
 	u64 now;
 
-	raw_local_irq_save(flags);
+	local_irq_save(flags);
 
 	this_cpu = raw_smp_processor_id();
 	now = cpu_clock(this_cpu);
@@ -110,7 +110,7 @@ u64 notrace trace_clock_global(void)
 	arch_spin_unlock(&trace_clock_struct.lock);
 
  out:
-	raw_local_irq_restore(flags);
+	local_irq_restore(flags);
 
 	return now;
 }
--

From: tip-bot for Li Zefan
Date: Saturday, April 3, 2010 - 2:27 am

Commit-ID:  e36673ec5126f15a8cddf6049aede7bdcf484c26
Gitweb:     http://git.kernel.org/tip/e36673ec5126f15a8cddf6049aede7bdcf484c26
Author:     Li Zefan <lizf@cn.fujitsu.com>
AuthorDate: Wed, 24 Mar 2010 10:57:37 +0800
Committer:  Steven Rostedt <rostedt@goodmis.org>
CommitDate: Mon, 29 Mar 2010 15:16:44 -0400

tracing: Fix lockdep warning in global_clock()

# echo 1 > events/enable
 # echo global > trace_clock

------------[ cut here ]------------
WARNING: at kernel/lockdep.c:3162 check_flags+0xb2/0x190()
...
---[ end trace 3f86734a89416623 ]---
possible reason: unannotated irqs-on.
...

There's no reason to use the raw_local_irq_save() in trace_clock_global.
The local_irq_save() version is fine, and does not cause the bug in lockdep.

Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
LKML-Reference: <4BA97FA1.7030606@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/trace/trace_clock.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/trace/trace_clock.c b/kernel/trace/trace_clock.c
index 6fbfb8f..9d589d8 100644
--- a/kernel/trace/trace_clock.c
+++ b/kernel/trace/trace_clock.c
@@ -84,7 +84,7 @@ u64 notrace trace_clock_global(void)
 	int this_cpu;
 	u64 now;
 
-	raw_local_irq_save(flags);
+	local_irq_save(flags);
 
 	this_cpu = raw_smp_processor_id();
 	now = cpu_clock(this_cpu);
@@ -110,7 +110,7 @@ u64 notrace trace_clock_global(void)
 	arch_spin_unlock(&trace_clock_struct.lock);
 
  out:
-	raw_local_irq_restore(flags);
+	local_irq_restore(flags);
 
 	return now;
 }
--

Previous thread: [GIT PULL] sh updates for 2.6.34-rc3 by Paul Mundt on Tuesday, March 23, 2010 - 7:38 pm. (1 message)

Next thread: [PATCH 1/3] tracing: Reduce overhead of module tracepoints by Li Zefan on Tuesday, March 23, 2010 - 7:57 pm. (15 messages)