Re: [PATCH] Prevent nested interrupts when the IRQ stack is nearoverflowing v2

From: Thomas Gleixner
Date: Wed Mar 24 2010 - 19:08:52 EST


On Wed, 24 Mar 2010, Thomas Gleixner wrote:

> On Wed, 24 Mar 2010, Andi Kleen wrote:
>
> > Prevent nested interrupts when the IRQ stack is near overflowing v2
> >
> > Interrupts can always nest when they don't run with IRQF_DISABLED.
> >
> > When a lot of interrupts hit the same vector on the same
> > CPU nested interrupts can overflow the irq stack and cause hangs.

That's utter nonsense. An interrupt storm on the same vector does not
cause irq nesting. The irq code prevents reentering a handler and in
case of MSI-X it just disables the IRQ when it comes again while the
first irq on that vector is still in progress. So the maximum nesting
is two up to handle_edge_irq() where it disables the IRQ and returns
right away.

Thanks,

tglx


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