On Wed, 26 Jul 2000, Linus Torvalds wrote:
> We use the interrupt blocking hardware to make sure that as long
> as irq A is running, further instances of irq A are blocked. OTHER
> interrupts can still happen.
I thought this depended on whether SA_INTERRUPT is passed or is this not
the case anymore (it was the case in 2.2.x). I.e.
a) if the handler for irq A was registered with SA_INTERRUPT flag
(fast interrupt) then
o irq A handler is atomic wrt to itself
o irq A handler is atomic wrt to other irq handlers
b) if the handler for irq A was registered without SA_INTERRUPT flag (slow
interrupt) then
o irq A handler is atomic wrt to itself
o other irq handlers can be invoked while irq A is running
In other words, fast interrupts run with both IF disabled in the processor
and the "this" irq mask disabled in interrupt controller whilst the slow
interrupts run with just the "this" irq mask disabled in the interrupt
controller but IF flag set (via sti) in the processor.
If this is not true anymore, I would appreciate if you (or someone
else who can spare time) corrected me.
Thanks,
Tigran
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:21 EST