From: Frederik Deweerdt <deweerdt@free.fr>
To: Ingo Molnar <mingo@elte.hu>
Cc: Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, arjanv@infradead.org
Subject: Re: lockdep warning in check_flags()
Date: Tue, 12 Sep 2006 14:13:35 +0000 [thread overview]
Message-ID: <20060912141335.GM3775@slug> (raw)
In-Reply-To: <20060911054335.GC11269@elte.hu>
On Mon, Sep 11, 2006 at 07:43:35AM +0200, Ingo Molnar wrote:
>
> * Frederik Deweerdt <deweerdt@free.fr> wrote:
>
> > Lockdep issues the following warning:
> >
> > [ 16.835268] Freeing unused kernel memory: 260k freed
> > [ 16.842715] Write protecting the kernel read-only data: 432k
> > [ 17.796518] BUG: warning at kernel/lockdep.c:2359/check_flags()
>
> this warning means that the "soft" and "hard" hardirqs-disabled state
> got out of sync: the irqtrace tracking code thinks that hardirqs are
> disabled, while in reality they are enabled. The thing to watch for are
> new "stii" instructions in entry.S (and other assembly code), without a
> matching TRACE_HARDIRQS_ON call. [Another, rarer possiblity is NMI code
> saving/restoring interrupts - do you have NMIs enabled? (are there any
> NMI counts in /proc/interrupts?)]
NMIs were disabled. But I've just booted -mm2 and the warning went away.
Could this be related to the recent pda changes?
FWIW, I did the bisection (inserting TRACE_HARDIRQS_ON between
sysenter_past_esp and the cli) and it gave the following result:
In entry.S:
310
311 pushl %eax
312 CFI_ADJUST_CFA_OFFSET 4
313 SAVE_ALL
314 GET_THREAD_INFO(%ebp)
315
If I put TRACE_HARDIRQS_ON at line 310, lockdep complains about having
interrupts enabled and being told to re-enable them. If I put
TRACE_HARDIRQS_ON at line 315, lockdep goes back to the original
message.
Regards,
Frederik
>
> lockdep automatically generates a minimal trace of hardirqs-off
> state-setting:
>
> > [ 17.885839] irq event stamp: 8318
> > [ 17.892746] hardirqs last enabled at (8317): [<c01032c8>] restore_nocheck+0x12/0x15
> > [ 17.906778] hardirqs last disabled at (8318): [<c0103203>] sysenter_past_esp+0x6c/0x99
> > [ 17.921481] softirqs last enabled at (7128): [<c0123cd1>] __do_softirq+0xe9/0xfa
> > [ 17.936962] softirqs last disabled at (7121): [<c0123d3e>] do_softirq+0x5c/0x60
>
> this means that the last registered 'hardirqs off' event was
> sysenter_past_esp, i.e. the normal sysenter syscall entry code - but
> nothing re-enabled hardirqs - which is weird, given that you ended up in
> sys_brk().
>
> > I've replaced the DEBUG_LOCKS_WARN_ON by a BUG, and it appears that
> > the user space program calling sys_brk is hotplug.
>
> (ok, i'll enhance the debug printout to include the process name and
> PID.)
>
> Ingo
> -
> 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/
>
next prev parent reply other threads:[~2006-09-12 12:14 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-08 8:13 2.6.18-rc6-mm1 Andrew Morton
2006-09-08 11:49 ` 2.6.18-rc6-mm1 Andy Whitcroft
2006-09-08 12:07 ` 2.6.18-rc6-mm1 Frederik Deweerdt
2006-09-08 12:16 ` [patch -mm] s390: fix save_stack_trace Heiko Carstens
2006-09-09 13:36 ` Andi Kleen
2006-09-08 12:23 ` 2.6.18-rc6-mm1 - x86_64-mm-lockdep-dont-force-framepointer.patch Heiko Carstens
2006-09-09 13:39 ` Andi Kleen
2006-09-11 8:45 ` Martin Schwidefsky
2006-09-08 14:26 ` 2.6.18-rc6-mm1 Rafael J. Wysocki
2006-09-08 20:44 ` [linux-usb-devel] 2.6.18-rc6-mm1 Alan Stern
2006-09-08 22:57 ` Rafael J. Wysocki
2006-09-11 22:08 ` Rafael J. Wysocki
2006-09-12 14:28 ` Alan Stern
2006-09-12 17:22 ` Mattia Dongili
2006-09-12 18:04 ` Mattia Dongili
2006-09-12 20:10 ` Alan Stern
2006-09-13 17:00 ` Rafael J. Wysocki
2006-09-13 12:07 ` [linux-usb-devel] 2.6.18-rc6-mm1 (-mm2): ohci resume problem Rafael J. Wysocki
2006-09-13 12:42 ` Rafael J. Wysocki
2006-09-13 18:38 ` Alan Stern
2006-09-13 20:00 ` Rafael J. Wysocki
2006-09-13 21:01 ` Alan Stern
2006-09-13 21:32 ` Rafael J. Wysocki
2006-09-13 21:55 ` Alan Stern
2006-09-14 13:14 ` Rafael J. Wysocki
2006-09-14 14:08 ` Rafael J. Wysocki
2006-09-14 15:04 ` Alan Stern
2006-09-14 16:17 ` Alan Stern
2006-09-14 17:08 ` Rafael J. Wysocki
2006-09-14 17:13 ` Rafael J. Wysocki
2006-09-14 17:24 ` Alan Stern
2006-09-14 17:22 ` Alan Stern
2006-09-14 17:35 ` Rafael J. Wysocki
2006-09-14 18:28 ` Alan Stern
[not found] ` <200609142137.52066.rjw@sisk.pl>
2006-09-14 20:21 ` Rafael J. Wysocki
2006-09-14 20:55 ` Alan Stern
2006-09-14 21:47 ` Rafael J. Wysocki
2006-09-14 22:19 ` Alan Stern
2006-09-14 16:48 ` Rafael J. Wysocki
2006-09-13 20:38 ` Mattia Dongili
2006-09-13 20:54 ` Alan Stern
2006-09-14 20:19 ` Mattia Dongili
2006-09-14 20:25 ` Alan Stern
2006-09-14 20:35 ` Mattia Dongili
2006-09-16 11:58 ` Mattia Dongili
2006-09-16 14:31 ` Alan Stern
2006-09-08 17:43 ` 2.6.18-rc6-mm1 Stefan Richter
2006-09-08 18:04 ` 2.6.18-rc6-mm1 Andrew Morton
2006-09-08 18:36 ` 2.6.18-rc6-mm1 Stefan Richter
2006-09-08 19:23 ` 2.6.18-rc6-mm1 Michal Piotrowski
2006-09-08 19:43 ` 2.6.18-rc6-mm1 Andrew Morton
2006-09-08 20:01 ` 2.6.18-rc6-mm1 Michal Piotrowski
2006-09-08 19:30 ` 2.6.18-rc6-mm1 thunder7
2006-09-08 19:44 ` 2.6.18-rc6-mm1 Andrew Morton
2006-09-09 9:04 ` 2.6.18-rc6-mm1 thunder7
2006-09-09 15:31 ` 2.6.18-rc6-mm1 Andrew Morton
2006-09-09 15:31 ` 2.6.18-rc6-mm1 Andrew Morton
2006-09-09 22:02 ` 2.6.18-rc6-mm1 Jean Delvare
2006-09-10 6:30 ` 2.6.18-rc6-mm1 thunder7
2006-09-10 6:30 ` 2.6.18-rc6-mm1 thunder7
2006-09-09 8:35 ` lockdep warning in check_flags() Frederik Deweerdt
2006-09-11 5:43 ` Ingo Molnar
2006-09-12 14:13 ` Frederik Deweerdt [this message]
2006-09-12 16:54 ` Ingo Molnar
2006-09-12 20:21 ` Frederik Deweerdt
[not found] ` <4503DC64.9070007@free.fr>
2006-09-10 8:32 ` 2.6.18-rc6-mm1: GPF loop on early boot Andi Kleen
2006-09-10 10:29 ` Arjan van de Ven
2006-09-10 11:57 ` Ingo Molnar
2006-09-10 11:34 ` Andi Kleen
2006-09-10 13:26 ` Ingo Molnar
2006-09-10 13:55 ` Andi Kleen
2006-09-10 14:02 ` Ingo Molnar
2006-09-10 16:33 ` Andrew Morton
2006-09-10 23:03 ` Jeremy Fitzhardinge
2006-09-11 5:10 ` Ingo Molnar
2006-09-11 7:31 ` Jeremy Fitzhardinge
2006-09-11 7:29 ` Ingo Molnar
2006-09-11 7:41 ` Jeremy Fitzhardinge
2006-09-11 7:36 ` Ingo Molnar
2006-09-11 7:59 ` Jeremy Fitzhardinge
2006-09-11 8:01 ` Ingo Molnar
2006-09-11 8:13 ` Jeremy Fitzhardinge
2006-09-11 7:38 ` Ingo Molnar
2006-09-11 7:56 ` Jeremy Fitzhardinge
2006-09-11 7:55 ` Ingo Molnar
2006-09-11 5:21 ` Laurent Riffard
2006-09-11 5:18 ` Ingo Molnar
2006-09-11 5:25 ` [patch] i386-PDA, lockdep: fix %gs restore Ingo Molnar
2006-09-11 5:41 ` Andi Kleen
2006-09-11 5:48 ` Ingo Molnar
2006-09-11 5:46 ` Ingo Molnar
2006-09-11 16:35 ` Laurent Riffard
2006-09-11 7:42 ` Jeremy Fitzhardinge
2006-09-11 19:33 ` Jeremy Fitzhardinge
2006-09-11 21:25 ` Jeremy Fitzhardinge
2006-09-11 20:20 ` Andi Kleen
2006-09-11 21:37 ` Jeremy Fitzhardinge
2006-09-11 20:48 ` Andi Kleen
2006-09-10 12:36 ` 2.6.18-rc6-mm1: GPF loop on early boot Laurent Riffard
2006-09-10 13:07 ` Ingo Molnar
2006-09-10 13:11 ` Ingo Molnar
2006-09-11 21:19 ` 2.6.18-rc6-mm1 Mark Haverkamp
2006-09-11 22:16 ` 2.6.18-rc6-mm1 Andrew Morton
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=20060912141335.GM3775@slug \
--to=deweerdt@free.fr \
--cc=akpm@osdl.org \
--cc=arjanv@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
/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 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.