Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

1 view
Skip to first unread message

Li Zefan

unread,
Mar 23, 2010, 11:00:02 PM3/23/10
to
# 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 <li...@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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Steven Rostedt

unread,
Mar 23, 2010, 11:10:02 PM3/23/10
to
On Wed, 2010-03-24 at 10:57 +0800, Li Zefan wrote:
> # 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.
> ...
>

Peter,

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

Thanks,

-- Steve

> Signed-off-by: Li Zefan <li...@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;
> }


--

Peter Zijlstra

unread,
Mar 24, 2010, 9:10:03 AM3/24/10
to
On Wed, 2010-03-24 at 10:57 +0800, Li Zefan wrote:
> # 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 <li...@cn.fujitsu.com>
Acked-by: Peter Zijlstra <a.p.zi...@chello.nl>

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

--

tip-bot for Li Zefan

unread,
Mar 26, 2010, 10:10:01 PM3/26/10
to
Commit-ID: 581fe9449d181f6bd5afc5dcae37526eeee02b1d
Gitweb: http://git.kernel.org/tip/581fe9449d181f6bd5afc5dcae37526eeee02b1d
Author: Li Zefan <li...@cn.fujitsu.com>
AuthorDate: Wed, 24 Mar 2010 10:57:37 +0800
Committer: Steven Rostedt <ros...@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.zi...@chello.nl>
Signed-off-by: Li Zefan <li...@cn.fujitsu.com>
LKML-Reference: <4BA97FA1...@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <ros...@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;
}
--

tip-bot for Li Zefan

unread,
Apr 3, 2010, 5:30:02 AM4/3/10
to
Commit-ID: e36673ec5126f15a8cddf6049aede7bdcf484c26
Gitweb: http://git.kernel.org/tip/e36673ec5126f15a8cddf6049aede7bdcf484c26

Author: Li Zefan <li...@cn.fujitsu.com>
AuthorDate: Wed, 24 Mar 2010 10:57:37 +0800
Committer: Steven Rostedt <ros...@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.zi...@chello.nl>
Signed-off-by: Li Zefan <li...@cn.fujitsu.com>
LKML-Reference: <4BA97FA1...@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <ros...@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;
}
--

0 new messages