Re: IRQF_DISABLED problem

From: David Miller
Date: Thu Jul 26 2007 - 20:13:29 EST


From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 26 Jul 2007 16:04:42 -0700 (PDT)

> Quite frankly, my preference would be (a) followed by (e) or (f), and
> (b)-(d) are in my opinion the worst of the lot with no upsides at all (and
> (b) in particular is pretty much _guaranteed_ to break existing setups).

I look at some cases, such as EHEA on powerpc which is a pretty
modern driver written by not clueless folks, and wonder if they
do it because they know the IRQ is non-shared, they know their
interrupt handler is insanely simple and short, and just want to
avoid the overhead of that sti()/cli() in the caller.

All the EHEA interrupt handler does is unconditionally set a state bit
and schedule a softirq, then return.

The powerpc folks do delayed IRQ enable/disable using software state,
but perhaps these drivers were written before that.
-
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/