Messages in this thread | | | Date | Fri, 26 Mar 2010 11:12:41 +0100 | From | Andi Kleen <> | Subject | Re: [patch 0/2] Run interrupt handlers always with interrupts disabled |
| |
On Fri, Mar 26, 2010 at 11:08:53AM +0100, Peter Zijlstra wrote: > On Fri, 2010-03-26 at 09:59 +0000, Alan Cox wrote: > > > As long as it's rare (which it is) i dont see a problem: you can enable > > > interrupts in the handler by using local_irq_enable(), like the IDE PIO > > > drivers do. That way it's documented a bit better as well, because it shows > > > the precise source of the latency, with a big comment explaining it, etc. > > > > I don't think it's as rare as you think particularly in embedded, and the > > moment you start explicitly using local_irq_enable() you've simply moved > > the underlying problem back and made it far harder to grep for. > > We've got local_irq_enable_in_hardirq() which should be used and can > easily be grep'ed for. > > But yes, I would much prefer to simply convert these known slow handlers > to threaded interrupts.
That could be potentially hundreds in old obscure drivers all over the tree.
-Andi
-- ak@linux.intel.com -- Speaking for myself only.
| |