From: Ingo Molnar <mingo@elte.hu>
To: Vegard Nossum <vegard.nossum@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Steven Rostedt <srostedt@redhat.com>,
x86@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: -tip: WARNING: at kernel/lockdep.c:2738
Date: Sun, 29 Jun 2008 15:05:54 +0200 [thread overview]
Message-ID: <20080629130554.GA16703@elte.hu> (raw)
In-Reply-To: <19f34abd0806290532k1b176d97k96f7c5bb2bb9e830@mail.gmail.com>
* Vegard Nossum <vegard.nossum@gmail.com> wrote:
> Hi,
>
> I just got this on the latest tip/master shortly after finishing initcalls:
>
> ------------[ cut here ]------------
> WARNING: at kernel/lockdep.c:2738 check_flags+0x142/0x160()
> Pid: 5, comm: watchdog/0 Not tainted 2.6.26-rc8-tip-00206-g3248a70-dirty #49
> [<c0139684>] warn_on_slowpath+0x54/0x70
> [<c015be00>] ? trace_hardirqs_off_caller+0x40/0xe0
> [<c010a7c5>] ? native_sched_clock+0xb5/0x110
> [<c018076e>] ? ftrace_record_ip+0x12e/0x240
> [<c05ab8c8>] ? _spin_unlock_irqrestore+0x48/0x80
> [<c029ffd3>] ? debug_locks_off+0x3/0x50
> [<c018076e>] ? ftrace_record_ip+0x12e/0x240
> [<c0104f6b>] ? mcount_call+0x5/0xa
> [<c015b322>] check_flags+0x142/0x160
> [<c015f6e9>] lock_acquire+0x59/0xd0
> [<c01769f1>] ? watchdog+0xb1/0x1e0
> [<c05ab2fd>] _read_lock+0x3d/0x70
> [<c01769f1>] ? watchdog+0xb1/0x1e0
> [<c01769f1>] watchdog+0xb1/0x1e0
> [<c05ab8c8>] ? _spin_unlock_irqrestore+0x48/0x80
> [<c012bae9>] ? complete+0x49/0x60
> [<c0176940>] ? watchdog+0x0/0x1e0
> [<c014e637>] kthread+0x47/0x80
> [<c014e5f0>] ? kthread+0x0/0x80
> [<c0104f53>] kernel_thread_helper+0x7/0x10
> =======================
> ---[ end trace 8e23f95b45fa05f7 ]---
> possible reason: unannotated irqs-on.
> irq event stamp: 18
> hardirqs last enabled at (17): [<c015e02b>] trace_hardirqs_on+0xb/0x10
> hardirqs last disabled at (18): [<c015beab>] trace_hardirqs_off+0xb/0x10
> softirqs last enabled at (0): [<c0137cd8>] copy_process+0x268/0x10b0
> softirqs last disabled at (0): [<00000000>] 0x0
>
> I hope this wasn't caused by any of my patches :-S
>
> $ addr2line -e vmlinux -i c01769f1
> kernel/softlockup.c:232
> kernel/softlockup.c:271
>
> It seems that Andrew reported this too,
> http://lkml.org/lkml/2008/6/9/41, but I already have the fix,
>
> commit 040ec23d07f95285e9777a85cda29cb339a3065b
> Author: Ingo Molnar <mingo@elte.hu>
> Date: Mon Jun 9 01:45:29 2008 -0700
>
> sched: sched_clock() lockdep fix
>
> so it can't be the same one.
>
> (It seems to be something ftrace-related, adding Steven to Cc.)
perhaps caused by this one:
| commit 76a2a6ee8a0660a29127f05989ac59ae1ce865fa
| Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
| Date: Fri Jun 27 13:41:15 2008 +0200
|
| sched: sched_clock_cpu() based cpu_clock()
?
Does the patch below (or the tip/master i just pushed out) fix it?
Ingo
------------->
commit 2d452c9b10caeec455eb5e56a0ef4ed485178213
Author: Ingo Molnar <mingo@elte.hu>
Date: Sun Jun 29 15:01:59 2008 +0200
sched: sched_clock_cpu() based cpu_clock(), lockdep fix
Vegard Nossum reported:
> WARNING: at kernel/lockdep.c:2738 check_flags+0x142/0x160()
which happens due to:
unsigned long long cpu_clock(int cpu)
{
unsigned long long clock;
unsigned long flags;
raw_local_irq_save(flags);
as lower level functions can take locks, we must not do that, use
proper lockdep-annotated irq save/restore.
Reported-by: Vegard Nossum <vegard.nossum@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/kernel/sched_clock.c b/kernel/sched_clock.c
index ed5a8c4..60094e2 100644
--- a/kernel/sched_clock.c
+++ b/kernel/sched_clock.c
@@ -250,9 +250,9 @@ unsigned long long cpu_clock(int cpu)
unsigned long long clock;
unsigned long flags;
- raw_local_irq_save(flags);
+ local_irq_save(flags);
clock = sched_clock_cpu(cpu);
- raw_local_irq_restore(flags);
+ local_irq_restore(flags);
return clock;
}
next prev parent reply other threads:[~2008-06-29 13:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-29 12:32 -tip: WARNING: at kernel/lockdep.c:2738 Vegard Nossum
2008-06-29 13:05 ` Ingo Molnar [this message]
2008-06-29 13:51 ` Vegard Nossum
2008-06-29 14:43 ` Eduard - Gabriel Munteanu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080629130554.GA16703@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=srostedt@redhat.com \
--cc=vegard.nossum@gmail.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox