Hello;
In attempting to understand why a 3Com 900 Combo PCI card
and a BusLogic Flashpoint DL PCI card do not want to "play"
together under Linux I have found Don's technology flame
concerning the use of SA_INTERRUPT.
http://cesdis.gsfc.nasa.gov/linux/misc/irq-conflict.html
Don particularly points directly at the BusLogic driver as
an example of inappropriate use of SA_INTERRUPT.
After reading Don's Web Page I have the question of when
should SA_INTERRUPT be used? Under what circumstances would
you really need to use it?
I happen to strongly disagree with Don. SA_INTERRUPT gives us two things in
2.0 (in 2.1 it does very little, and interrupt handlers tend to need to acquire
a spin lock anyway):
(1) Interrupt handler entry with interrupts disabled.
(2) No bottom half processing on exit.
SA_INTERRUPT handlers are much cheaper than the others because of (2) and the
cheaper entry/exit sequences involved. (1) is a good idea in 2.0 if you don't
want race conditions in the SCSI subsystem to nail you. One could disable them
separately on entry to the hander, but I believe it's running with interrupts
disabled that is what Don's complaining about most.
Leonard
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu