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

Linus Torvalds
2010-03-25T18:07:35Z

On Thu, 25 Mar 2010, Peter Zijlstra wrote:
>
> FWIW lockdep forces IRQF_DISABLED and yells when anybody does
> local_irq_enable() while in hardirq context, I haven't seen any such
> splats in a long while, except from the ARM people who did funny things
> with building their own threaded interrupts or somesuch.

The thing is, that won't show the drivers that just simply _expect_
other interrupts to happen.

The SCSI situation, iirc, used to be that certain error conditions simply
caused a delay loop (reset? I forget) that depended on 'jiffies'. So there
was no 'local_irq_enable()' involved, nor did it even happen under any
normal load - only in error situations.

Now, I think (and sincerely) that the SCSI situation is likely long since
fixed, but we have thousands and thousands of drivers, and these kinds of
things are very hard to notice automatically. Are there any cases around
that still have busy-loop delays based on real-time in their irq handlers?
I simply don't know.

Linus