Re: [RFC][PATCH] irq: remove IRQF_DISABLED

From: Peter Zijlstra
Date: Fri Mar 06 2009 - 05:24:30 EST


On Fri, 2009-03-06 at 20:59 +1100, Benjamin Herrenschmidt wrote:
> > If you have distinct interrupt priorities, you can
> >
> > 1) provide an interrupt stack for each priority
> > 2) mask all lower priorities when handling one
> >
> > Would that not work?
>
> The PIC does that already. IE. it will only interrupt again before
> ->eoi() for an interrupt of a higher priority. But by using
> IRQF_DISABLED, you mask interrupts in the core, and thus effectively
> completely prevents the whole thing.
>
> > The problems with enabling irqs in hardirq handlers are that you get
> > unlimited irq nesting, which is bad for your stack, furthermore, somehow
> > people thing it makes things 'faster' because the irq-off latency goes
> > down.
>
> No, you don't get unlimited IRQ nesting, at least not on sane archs with
> a decent PIC that does things like what I described above :-)

Right, welcome to x86 ;-)

Sounds to me we need to extend genirq a bit... Thomas?

--
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/