From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: David Brownell <david-b@pacbell.net>
Cc: Thomas Gleixner <tglx@linutronix.de>,
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
Subject: Re: lockdep and threaded IRQs (was: ...)
Date: Mon, 02 Mar 2009 22:41:46 +0100 [thread overview]
Message-ID: <1236030106.5330.1553.camel@laptop> (raw)
In-Reply-To: <200903021337.20887.david-b@pacbell.net>
On Mon, 2009-03-02 at 13:37 -0800, David Brownell wrote:
> > How so?, its the natural extension of that work.
>
> Not the work to shrink the amount of time IRQ latencies
> by shrinking the amount of time IRQs are disabled by
> IRQ handlers.
Ugh, that's done by pushing work out of the hardirq context, not by
doing silly things like enabling irqs from hardirq context.
> > > > we should simply always disable interrupts for
> > > > interrupt handlers.
> > >
> > > That would be why you have refused to fix the bug
> > > in lockdep, whereby it forcibly enables that flag?
> > >
> > > I've been wondering for some months now why you've
> > > left that bug unfixed.
> >
> > Because running irq handlers with irqs enabled it plain silly.
>
> Not if you have hardware-prioritized IRQs, which are
> fairly common in some environments ... handling an IRQ
> for high priority device A needn't interfere with the
> handler for lower priority device B, and the system
> overall can work better.
>
> Not if you need to shrink IRQ latencies by minimizing
> irqs-off critical sections everywhere ... IRQ handlers
> being common offenders for keeping IRQs off too long.
>
> Not when IRQs can be disabled selectively around the
> real critical sections ... so drivers can leave IRQs
> enabled except in those brief sections.
Yeah, and who gets to debug the stack overflow?
Hardware with irq prio levels can do a prio mask and use a stack per
prio level.
next prev parent reply other threads:[~2009-03-02 21:42 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 [this message]
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
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=1236030106.5330.1553.camel@laptop \
--to=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.