From: Ingo Molnar <mingo@elte.hu>
To: David Brownell <david-b@pacbell.net>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Andrew Morton <akpm@linux-foundation.org>,
me@felipebalbi.com, linux-kernel@vger.kernel.org,
linux-input@vger.kernel.org, felipe.balbi@nokia.com,
dmitry.torokhov@gmail.com, sameo@openedhand.com,
tglx@linutronix.de
Subject: Re: lockdep and threaded IRQs (was: ...)
Date: Tue, 3 Mar 2009 01:44:27 +0100 [thread overview]
Message-ID: <20090303004427.GA8638@elte.hu> (raw)
In-Reply-To: <200903021633.08736.david-b@pacbell.net>
* David Brownell <david-b@pacbell.net> wrote:
> On Monday 02 March 2009, Ingo Molnar wrote:
> > >
> > > The significant omission is lack of support for chaining
> > > such threads. Example, an I2C device that exposes
> > > several dozen IRQs with mask/ack/... operations that
> > > require I2C access.
> >
> > Well, those are rarely used, embedded-only constructs - the main
> > focus of IRQ threading patches are the more common patterns.
>
> Yes, mostly for embedded, where "system bus" more likely
> means I2C than PCI.
>
>
> > Since you care about them - could you please send patches on top
> > of the IRQ threading patches to add support for them?
>
> I'll look at that, and try to prepare something on top
> of the version of the threading patches that gets into
> the -next tree. I got the impression there was going
> to be a v3 of those patches soonish...
Great! We'll sort out any conflicts so dont worry about that -
you can pick up v2 just fine and post patches.
> I expect there will be two basic parts of that work:
>
> - One to cope with the upcoming change to handle_irq(),
> insisting that it live in hardirq context instead of
> just an irqs-off context (and thereby preventing use
> of standard chaining calls in irq threads, sigh).
>
> - Another to set up a chaining thread, since chain
> setup bypasses setup_irq() and friends.
If you mean to push the chaining bits into the IRQ thread too, i
think the chaining bits actually should never be threaded. Is
there a good reason to do that? It's not like they will really
be preemptible (preempting a chaining thread would mean the
whole demuxing chain is held up => bad).
> That latter might touch what the v2 patches added,
> since I'd want it to share code.
Sure.
>
> - Dave
>
> p.s. Note that those changes would still leave the
> lockdep bug around ... it will still be breaking
> various drivers that use normal IRQs, by forcibly
> enabling IRQF_DISABLED.
it's not a bug - and i think Peter explained that already. It's
not really breaking things either - we've had this for more than
2 years.
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@elte.hu>
To: David Brownell <david-b@pacbell.net>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
Andrew Morton <akpm@linux-foundation.org>,
me@felipebalbi.com, linux-kernel@vger.kernel.org,
linux-input@vger.kernel.org, felipe.balbi@nokia.com,
dmitry.torokhov@gmail.com, sameo@openedhand.com,
tglx@linutronix.de
Subject: Re: lockdep and threaded IRQs (was: ...)
Date: Tue, 3 Mar 2009 01:44:27 +0100 [thread overview]
Message-ID: <20090303004427.GA8638@elte.hu> (raw)
In-Reply-To: <200903021633.08736.david-b@pacbell.net>
* David Brownell <david-b@pacbell.net> wrote:
> On Monday 02 March 2009, Ingo Molnar wrote:
> > >
> > > The significant omission is lack of support for chaining
> > > such threads. Example, an I2C device that exposes
> > > several dozen IRQs with mask/ack/... operations that
> > > require I2C access.
> >
> > Well, those are rarely used, embedded-only constructs - the main
> > focus of IRQ threading patches are the more common patterns.
>
> Yes, mostly for embedded, where "system bus" more likely
> means I2C than PCI.
>
>
> > Since you care about them - could you please send patches on top
> > of the IRQ threading patches to add support for them?
>
> I'll look at that, and try to prepare something on top
> of the version of the threading patches that gets into
> the -next tree. I got the impression there was going
> to be a v3 of those patches soonish...
Great! We'll sort out any conflicts so dont worry about that -
you can pick up v2 just fine and post patches.
> I expect there will be two basic parts of that work:
>
> - One to cope with the upcoming change to handle_irq(),
> insisting that it live in hardirq context instead of
> just an irqs-off context (and thereby preventing use
> of standard chaining calls in irq threads, sigh).
>
> - Another to set up a chaining thread, since chain
> setup bypasses setup_irq() and friends.
If you mean to push the chaining bits into the IRQ thread too, i
think the chaining bits actually should never be threaded. Is
there a good reason to do that? It's not like they will really
be preemptible (preempting a chaining thread would mean the
whole demuxing chain is held up => bad).
> That latter might touch what the v2 patches added,
> since I'd want it to share code.
Sure.
>
> - Dave
>
> p.s. Note that those changes would still leave the
> lockdep bug around ... it will still be breaking
> various drivers that use normal IRQs, by forcibly
> enabling IRQF_DISABLED.
it's not a bug - and i think Peter explained that already. It's
not really breaking things either - we've had this for more than
2 years.
Ingo
next prev parent reply other threads:[~2009-03-03 0:45 UTC|newest]
Thread overview: 119+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-27 19:28 [PATCH 1/2] input: misc: add twl4030-pwrbutton driver Felipe Balbi
2009-02-27 19:28 ` [PATCH 2/2] mfd: twl4030: add twl4030-pwrbutton as our child Felipe Balbi
2009-02-27 20:36 ` Andrew Morton
2009-02-27 21:58 ` David Brownell
2009-02-27 22:09 ` Felipe Balbi
2009-02-27 22:09 ` Felipe Balbi
2009-02-27 22:12 ` Andrew Morton
2009-02-27 23:20 ` David Brownell
2009-02-27 23:20 ` David Brownell
2009-02-27 23:42 ` Andrew Morton
2009-07-22 19:27 ` Trilok Soni
2009-07-22 22:25 ` David Brownell
2009-07-22 22:25 ` David Brownell
2009-02-27 20:33 ` [PATCH 1/2] input: misc: add twl4030-pwrbutton driver Andrew Morton
2009-02-27 20:37 ` Felipe Balbi
2009-02-27 21:50 ` lockdep and threaded IRQs (was: [PATCH 1/2] input: misc: add twl4030-pwrbutton driver) David Brownell
2009-02-27 21:50 ` David Brownell
2009-02-27 22:09 ` Andrew Morton
2009-02-27 23:18 ` lockdep and threaded IRQs (was: ...) David Brownell
2009-02-27 23:18 ` David Brownell
2009-02-27 23:32 ` Andrew Morton
2009-02-28 0:01 ` Andrew Morton
2009-02-28 0:01 ` Andrew Morton
2009-02-28 2:30 ` David Brownell
2009-02-28 2:39 ` Andrew Morton
2009-02-28 4:46 ` David Brownell
2009-02-28 5:12 ` Andrew Morton
2009-02-28 6:17 ` David Brownell
2009-02-28 11:13 ` Thomas Gleixner
2009-02-28 12:16 ` David Brownell
2009-02-28 16:42 ` Thomas Gleixner
2009-02-28 20:02 ` David Brownell
2009-02-28 20:02 ` David Brownell
2009-02-28 20:55 ` Thomas Gleixner
2009-02-28 21:13 ` Thomas Gleixner
2009-02-28 22:37 ` David Brownell
2009-02-28 22:05 ` David Brownell
2009-03-01 9:43 ` Thomas Gleixner
2009-03-01 22:54 ` David Brownell
2009-03-02 13:16 ` Peter Zijlstra
2009-03-02 21:04 ` David Brownell
2009-03-02 21:16 ` Peter Zijlstra
2009-03-02 21:29 ` Andrew Morton
2009-03-02 21:37 ` David Brownell
2009-03-02 21:41 ` Peter Zijlstra
2009-03-02 22:09 ` David Brownell
2009-03-02 22:19 ` Peter Zijlstra
2009-03-02 22:40 ` David Brownell
2009-03-02 22:51 ` Peter Zijlstra
2009-03-02 23:29 ` David Brownell
2009-03-03 7:45 ` Peter Zijlstra
2009-03-02 22:46 ` lockdep and threaded IRQs David Miller
2009-03-02 22:57 ` Andrew Morton
2009-03-02 23:07 ` Peter Zijlstra
2009-03-02 23:02 ` Peter Zijlstra
2009-03-02 23:35 ` lockdep and threaded IRQs (was: ...) Alan Cox
2009-03-01 22:11 ` David Brownell
2009-02-28 11:48 ` lockdep and threaded IRQs Stefan Richter
2009-02-28 20:19 ` David Brownell
2009-02-28 21:10 ` Stefan Richter
2009-03-02 13:16 ` lockdep and threaded IRQs (was: ...) Peter Zijlstra
2009-03-02 22:10 ` David Brownell
2009-03-02 22:25 ` Peter Zijlstra
2009-03-02 23:20 ` David Brownell
2009-03-02 23:26 ` Ingo Molnar
2009-03-02 23:42 ` David Brownell
2009-03-02 23:53 ` Ingo Molnar
2009-03-03 0:33 ` David Brownell
2009-03-03 0:33 ` David Brownell
2009-03-03 0:44 ` Ingo Molnar [this message]
2009-03-03 0:44 ` Ingo Molnar
2009-03-03 2:37 ` David Brownell
2009-03-03 2:37 ` David Brownell
2009-03-03 9:27 ` Peter Zijlstra
2009-03-03 9:45 ` Ingo Molnar
2009-03-03 9:47 ` Alan Cox
2009-03-03 10:03 ` Ingo Molnar
2009-03-03 10:30 ` Alan Cox
2009-03-03 10:39 ` Peter Zijlstra
2009-03-03 10:48 ` Ingo Molnar
2009-03-03 11:13 ` Alan Cox
2009-03-03 11:33 ` Ingo Molnar
2009-03-03 11:19 ` Ingo Molnar
2009-03-18 1:04 ` David Brownell
2009-03-18 2:00 ` David Brownell
2009-03-18 2:14 ` [patch/rfc 0/2] handle_threaded_irq() David Brownell
2009-03-18 2:19 ` [patch/rfc 1/2] GENIRQ: add handle_threaded_irq() flow handler David Brownell
2009-03-18 12:00 ` Felipe Balbi
2009-03-18 18:31 ` David Brownell
2009-03-18 18:32 ` Felipe Balbi
2009-03-18 2:22 ` [patch/rfc 2/2] twl4030: use new " David Brownell
2009-03-03 11:53 ` lockdep and threaded IRQs (was: ...) Thomas Gleixner
2009-03-05 2:49 ` David Brownell
2009-03-05 2:49 ` David Brownell
2009-03-06 14:40 ` Thomas Gleixner
2009-03-18 3:06 ` David Brownell
2009-03-02 23:48 ` David Brownell
2009-03-02 23:48 ` David Brownell
2009-03-02 23:58 ` Ingo Molnar
2009-03-02 23:58 ` Ingo Molnar
2009-03-02 15:13 ` [PATCH] genirq: assert that irq handlers are indeed run in hardirq context Peter Zijlstra
2009-03-02 19:48 ` David Brownell
2009-03-02 22:01 ` [tip:irq/genirq] genirq: assert that irq handlers are indeed running " Peter Zijlstra
2009-03-02 23:15 ` Peter Zijlstra
2009-04-10 7:11 ` Eric Miao
2009-04-10 9:57 ` Thomas Gleixner
2009-02-28 11:20 ` lockdep and threaded IRQs Stefan Richter
2009-02-28 20:10 ` David Brownell
2009-02-28 5:51 ` [PATCH 1/2] input: misc: add twl4030-pwrbutton driver Trilok Soni
2009-02-28 12:05 ` [PATCH] mfd: twl4030: add twl4030-pwrbutton as our child Felipe Balbi
2009-02-28 22:23 ` [PATCH 1/2] input: misc: add twl4030-pwrbutton driver Dmitry Torokhov
2009-03-01 0:30 ` Felipe Balbi
2009-03-01 0:58 ` Dmitry Torokhov
2009-03-01 14:40 ` Felipe Balbi
2009-03-04 9:00 ` Dmitry Torokhov
2009-03-04 10:12 ` Felipe Balbi
2009-03-05 1:38 ` David Brownell
2009-03-05 23:54 ` David Brownell
2009-03-06 9:43 ` Dmitry Torokhov
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=20090303004427.GA8638@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=david-b@pacbell.net \
--cc=dmitry.torokhov@gmail.com \
--cc=felipe.balbi@nokia.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=me@felipebalbi.com \
--cc=sameo@openedhand.com \
--cc=tglx@linutronix.de \
/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.