Re: [patch 0/2] Run interrupt handlers always with interruptsdisabled

From: Peter Zijlstra
Date: Fri Mar 26 2010 - 05:28:28 EST


On Fri, 2010-03-26 at 10:20 +0100, Ingo Molnar wrote:
> * Russell King <rmk@xxxxxxxxxxxxxxxx> wrote:
>
> > On Fri, Mar 26, 2010 at 12:06:44AM -0000, Thomas Gleixner wrote:
> > > The following patch series removes the IRQF_DISABLED functionality
> > > from the core interrupt code and runs all interrupt handlers with
> > > interrupts disabled.
> >
> > As was covered in previous discussions, what about drivers such as SMC91x
> > which take a long time to retrieve packets from the hardware? Always running
> > handlers with IRQs disabled will kill things such as serial on these
> > platforms.
>
> 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.

Or alternatively, use threaded interrupts for such slow hardware.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/