From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: David Miller <davem@davemloft.net>,
dbrownell@users.sourceforge.net, tglx@linutronix.de,
me@felipebalbi.com, linux-kernel@vger.kernel.org,
linux-input@vger.kernel.org, felipe.balbi@nokia.com,
dmitry.torokhov@gmail.com, sameo@openedhand.com
Subject: Re: lockdep and threaded IRQs
Date: Tue, 03 Mar 2009 00:07:01 +0100 [thread overview]
Message-ID: <1236035221.5330.1798.camel@laptop> (raw)
In-Reply-To: <20090302145757.38a44307.akpm@linux-foundation.org>
On Mon, 2009-03-02 at 14:57 -0800, Andrew Morton wrote:
> On Mon, 02 Mar 2009 14:46:47 -0800 (PST)
> David Miller <davem@davemloft.net> wrote:
>
> > From: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > Date: Mon, 02 Mar 2009 23:19:31 +0100
> >
> > > I state that every !IRQF_DISABLED usage is a bug, either due to broken
> > > hardware or broken drivers.
> >
> > We'll send you the bill to have everyone's hardware
> > replaced :-)
>
> yes, but with what?
>
> No matter how fast all our interrupt handlers are, running them with
> local interrupts disabled has to worsen the worst-case interrupt
> latency.
>
> I don't see how removing !IRQF_DISABLED improves the kernel - in fact
> there's a latency argument for making !IRQF_DISABLED the default.
On preempt-rt all we do in the hardirq path is mask the interrupt line
and wake up a thread. That's the extreme end of low latency interrupts.
Arguably there is a middle way that works for !-rt.
However, striving to enable interrupts in all interrupt handlers is
asking for stack overruns. Interrupt nesting just isn't really helpful.
next prev parent reply other threads:[~2009-03-02 23:07 UTC|newest]
Thread overview: 106+ 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:12 ` Andrew Morton
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-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 22:09 ` Andrew Morton
2009-02-27 23:18 ` lockdep and threaded IRQs (was: ...) David Brownell
2009-02-27 23:32 ` 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: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 [this message]
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:44 ` Ingo Molnar
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-06 14:40 ` Thomas Gleixner
2009-03-18 3:06 ` David Brownell
2009-03-02 23:48 ` David Brownell
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=1236035221.5330.1798.camel@laptop \
--to=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=dbrownell@users.sourceforge.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).