From: Peter Zijlstra <peterz@infradead.org>
To: David Brownell <david-b@pacbell.net>
Cc: Linux Kernel list <linux-kernel@vger.kernel.org>, mingo@redhat.com
Subject: Re: [patch/rfc 2.6.24-rc8-git] genirq: partial lockdep fixes
Date: Mon, 21 Jan 2008 09:31:39 +0100 [thread overview]
Message-ID: <1200904299.6341.2.camel@lappy> (raw)
In-Reply-To: <200801181429.00485.david-b@pacbell.net>
On Fri, 2008-01-18 at 14:29 -0800, David Brownell wrote:
> EXPERIMENTAL and incomplete patch to make LOCKDEP behave better in
> the face of irq chaining, by annotating irqs with a lock_class which
> can reflect that hierarchy.
This is too short for me (who has no clue about genirq) to understand
what this patch does or why it does it.
> This version of the patch is incomplete in at least two respects:
>
> - There's no spin_lock_irq_nested() primitive, so that locking calls
> on irq probing (yeech!) paths must ignore the annotations.
>
> ==> LOCKDEP feature is evidently missing:
> spin_lock_irq_nested(lock_ptr, lock_class)
This rant is more lines than adding the API :-/ the reason for it not
being there is simple, it wasn't needed up until now.
> - We'd really need new API to declare the parent/child relationships
> between IRQs to handle this properly. Lacking such calls, this just
> piggybacks set_irq_chained_handler() to modify the parent's class.
> That's a problem, since only the lowest level of any lock tree gets
> accurate nesting annotations. On the plus side: no platform changes
> are needed this way, so testing is easy.
>
> ==> GENIRQ programming interface evidently missing
> set_irq_parent(parent_irqnum, child_irqnum) (?)
>
> Example: when a GPIO controller's set_wake() handler needs to call its
> parent's set_irq_wake() method to ensure all appropriate signal paths are
> set up, that currently generates a bogus lockdep warning. This patch
> removes those bogus warnings ... when there's only one level of parent.
OK.... still need a bit more detail here.
next prev parent reply other threads:[~2008-01-21 8:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-18 22:29 [patch/rfc 2.6.24-rc8-git] genirq: partial lockdep fixes David Brownell
2008-01-21 8:31 ` Peter Zijlstra [this message]
2008-01-21 18:22 ` David Brownell
2008-02-25 4:33 ` [patch 2.6.25-rc3] lockdep: add spin_lock_irq_nested() David Brownell
2008-02-25 10:20 ` Peter Zijlstra
2008-02-25 11:21 ` David Brownell
2008-02-25 13:17 ` Peter Zijlstra
2008-02-25 21:10 ` David Brownell
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=1200904299.6341.2.camel@lappy \
--to=peterz@infradead.org \
--cc=david-b@pacbell.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.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.