All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>,
	linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@osdl.org>
Subject: Re: Fwd: 2.6.17-rc5-mm1
Date: Tue, 30 May 2006 21:59:02 +0200	[thread overview]
Message-ID: <20060530195902.GD22742@elte.hu> (raw)
In-Reply-To: <6bffcb0e0605301157o6b7c5f66q3c9f151cbb4537d5@mail.gmail.com>


* Michal Piotrowski <michal.k.k.piotrowski@gmail.com> wrote:

> ============================
> [ BUG: illegal lock usage! ]
> ----------------------------
> illegal {in-hardirq-W} -> {hardirq-on-W} usage.

sorry - the messages are indeed cryptic, partly because there are lots 
of illegal state transitions and the printout is atomated, and partly to 
keep the already sizable lockdep printouts as compact as possible.

What happened here is that a lock (-type) that had the {in-hardirq-W} 
state bit set, and lockdep observed an event that also sets the 
{hardirq-on-W} state bit: illegal.

here is a rough translation of the usage history state bits:

 {in-hardirq-W}: lock was exclusively acquired in hardirq context
 {in-hardirq-R}: lock was read-acquired in hardirq context
 {in-softirq-W}: lock was exclusively acquired in softirq context
 {in-softirq-R}: lock was read-acquired in softirq context
 {hardirq-on-W}: lock was held exclusively with hardirqs enabled
 {hardirq-on-R}: lock was read-held with hardirqs enabled
 {softirq-on-W}: lock was held exclusively with softirqs enabled
 {softirq-on-R}: lock was read-held with softirqs enabled

to interpret the lock state at a glance, there's an even shorter 
representation of the state bits:

 (&base->lock#2){++..}
                 ^^^^

'+' : irq-safe [lock was taken in irq context]
'-' : irq-unsafe [lock was taken with irqs enabled]
'.' : unknown [lock has not yet become irq-safe or irq-unsafe]

'?' : read-locked with both hardirq context and with irqs enabled

the first character is for exclusive-locking in hardirqs, the second for 
exclusive-locking in softirqs, the third is for read-locking in 
hardirqs, the fourth is for read-locking in softirqs.

this means that the "{++..}" sequence shows that this lock is 
hardirq-safe and softirq-safe, and was never read-locked. [the later one 
is not surprising from a spinlock - but lockdep doesnt know that it's a 
spinlock, it deals with all lock types in a unified way]

(more details about the usage history state bits are in 
Documentation/lockdep-design.txt and in include/linux/lockdep.h)

	Ingo

  parent reply	other threads:[~2006-05-30 19:58 UTC|newest]

Thread overview: 123+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-30  9:29 2.6.17-rc5-mm1 Andrew Morton
2006-05-30  9:42 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 10:05 ` [patch, -rc5-mm1] genirq: ia64 build fix Ingo Molnar
2006-05-30 10:09 ` [patch, -rc5-mm1] lock validator, irqtrace: support non-x86 architectures Ingo Molnar
2006-05-30 10:11 ` [patch, -rc5-mm1] lock validator: rwsem build fix for " Ingo Molnar
2006-05-30 10:12 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 10:48 ` BUG: possible deadlock detected! (sound) [Was: 2.6.17-rc5-mm1] Jiri Slaby
2006-05-30 10:48   ` Jiri Slaby
2006-05-30 11:06   ` Arjan van de Ven
2006-05-30 11:06     ` Arjan van de Ven
2006-05-30 12:44     ` Takashi Iwai
2006-05-30 12:59       ` Arjan van de Ven
2006-05-30 12:59         ` Arjan van de Ven
2006-05-30 13:09         ` Jiri Slaby
2006-05-30 13:09           ` Jiri Slaby
2006-06-01 15:28         ` Jiri Slaby
2006-06-01 15:28           ` Jiri Slaby
2006-05-30 12:44     ` Takashi Iwai
2006-05-30 11:02 ` BUG: warning at ... (netlink) " Jiri Slaby
2006-05-30 11:55   ` [patch, -rc5-mm1] lock validator: remove softirq.c WARN_ON Ingo Molnar
2006-05-30 16:00     ` Alexey Kuznetsov
2006-05-30 16:05       ` Arjan van de Ven
2006-05-30 16:15         ` Alexey Kuznetsov
2006-05-30 11:11 ` [patch, -rc5-mm1] lock validator, fix NULL type->name bug Ingo Molnar
2006-05-30 11:58   ` Mike Galbraith
2006-05-30 12:02     ` Ingo Molnar
2006-05-30 12:06       ` Mike Galbraith
2006-05-30 12:05     ` Mike Galbraith
2006-05-30 12:06       ` Ingo Molnar
2006-05-30 12:17         ` Mike Galbraith
2006-05-30 12:19           ` Ingo Molnar
2006-05-30 12:28             ` Mike Galbraith
2006-05-30 12:29               ` [patch, -rc5-mm1] lock validator: disable NMI watchdog if CONFIG_LOCKDEP, i386 Ingo Molnar
2006-05-30 12:34                 ` [patch, -rc5-mm1] lock validator: fix NMI-disabling on x86_64 Ingo Molnar
2006-05-30 12:44                 ` [patch, -rc5-mm1] lock validator: disable NMI watchdog if CONFIG_LOCKDEP, i386 Mike Galbraith
2006-05-30 19:14                 ` Andi Kleen
2006-05-30 19:47                   ` Ingo Molnar
2006-05-30 20:05                     ` Ingo Molnar
2006-05-30 19:54                   ` Andrew Morton
2006-05-31  4:34                 ` Keith Owens
2006-05-30 12:14       ` [patch, -rc5-mm1] lock validator, fix NULL type->name bug Arjan van de Ven
2006-05-30 12:46 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:13   ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 15:59 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 16:08   ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 18:51     ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 16:16 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:28   ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 19:48     ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 18:39 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:04   ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-31 14:56     ` [patch 1/1] selinux: fix sb_lock/sb_security_lock nesting (Was: Re: 2.6.17-rc5-mm1) Stephen Smalley
2006-05-31 15:49       ` James Morris
2006-05-30 19:55   ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 20:20     ` 2.6.17-rc5-mm1 Dave Jones
2006-05-30 20:32       ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 18:55 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 18:57   ` Fwd: 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:42     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 21:57       ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 22:09         ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:18           ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:26             ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:29               ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:31                 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 22:32                 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 10:56                 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:59           ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 23:05             ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:06               ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:49                 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31  3:08                   ` 2.6.17-rc5-mm1 Steven Rostedt
2006-05-30 19:59     ` Ingo Molnar [this message]
2006-05-30 19:45   ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-31 13:51   ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31 14:02     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 14:05       ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 14:12       ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 15:05         ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31 15:20           ` [patch, -rc5-mm1] lock validator: irqflags-trace entry.S fix Ingo Molnar
2006-05-30 19:43 ` 2.6.17-rc5-mm1 Roland Dreier
2006-05-30 20:26   ` [patch, -rc5-mm1] lock validator: fix RT_HASH_LOCK_SZ Ingo Molnar
2006-05-30 20:43     ` Roland Dreier
2006-05-30 20:49       ` Ingo Molnar
2006-05-30 20:58         ` Roland Dreier
2006-05-30 21:01           ` Arjan van de Ven
2006-05-30 21:03             ` Roland Dreier
2006-05-30 21:14             ` Roland Dreier
2006-05-30 21:55               ` [Patch -rc5-mm1] Lockdep annotate rpc_populate for child-relationship of its mutex Arjan van de Ven
2006-05-30 21:19             ` [combo patch] lock validator -V2 Ingo Molnar
2006-05-30 21:07 ` 2.6.17-rc5-mm1 Brice Goglin
2006-05-30 21:07 ` 2.6.17-rc5-mm1 Laurent Riffard
2006-05-30 21:24   ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 21:43     ` 2.6.17-rc5-mm1 Mel Gorman
2006-05-30 21:24 ` 2.6.17-rc5-mm1 Roland Dreier
2006-05-30 22:45   ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-30 22:49     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:52       ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:58         ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:05           ` 2.6.17-rc5-mm1 Thomas Gleixner
2006-05-30 23:14             ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:32               ` 2.6.17-rc5-mm1 Roland Dreier
2006-05-30 23:15             ` 2.6.17-rc5-mm1 Benjamin Herrenschmidt
2006-05-30 23:53               ` 2.6.17-rc5-mm1 Greg KH
2006-05-30 23:53 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31  3:17 ` 2.6.17-rc5-mm1 Steven Rostedt
2006-05-31  4:14   ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-31  6:31     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 11:50       ` 2.6.17-rc5-mm1 Steven Rostedt
2006-05-31 11:55         ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31  6:39     ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-31 16:48 ` 2.6.17-rc5-mm1 Jesse Brandeburg
2006-05-31 23:08   ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 17:39 ` 2.6.17-rc5-mm1 Laurent Riffard
2006-05-31 18:09   ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-01 22:07   ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-02  7:49     ` 2.6.17-rc5-mm1 Jan Beulich
2006-06-01  1:25 ` 2.6.17-rc5-mm1 Randy.Dunlap
2006-06-01  1:40   ` 2.6.17-rc5-mm1 Siddha, Suresh B
2006-06-01  2:17     ` 2.6.17-rc5-mm1 Randy.Dunlap
2006-06-01  1:43   ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-01  6:14     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-06-01 15:12       ` 2.6.17-rc5-mm1 Randy.Dunlap

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=20060530195902.GD22742@elte.hu \
    --to=mingo@elte.hu \
    --cc=akpm@osdl.org \
    --cc=arjan@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michal.k.k.piotrowski@gmail.com \
    /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.