Re: [patch 4/4] genirq: add support for threaded interrupt handlers

From: Andrew Morton
Date: Fri Feb 27 2009 - 00:46:18 EST


On Thu, 26 Feb 2009 21:27:52 -0800 Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:

> >
> > Bearing in mind that the driver might choose to split the IRQ handling
> > between hard-irq context fastpath and process-context slowpath (I
> > hope), and that each path might want to take the same lock.
> >
>
>
> Realistically, for the "we go threaded interrupts" case (which is
> opt-in), I think the only sane option is
> * the quickhandler runs with irqs off
> * the "slow" threaded handler runs with irqs on
> And we guarantee both of these conditions from the core, to the point
> that I think we should not allow any other combination.
>
> This also should be fine for basically all cases; the quick handler
> really needs to be quick so irq off makes sense, and the slow handler
> can, worst case, turn off interrupts by itself, but normally is
> preemptable etc etc.

I was actually kinda surprised by the patch - it needs moderate changes
to each driver. I'd have thought that it would be possible to arrange for
_all_ drivers to have their interrupt handlers automagically called from
process context with no driver changes.

Did anyone ever try that? I think they did...
--
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/