Re: When should SA_INTERRUPT be used?

Leonard N. Zubkoff (lnz@dandelion.com)
Thu, 9 Jul 1998 22:57:56 -0700


From: Terry L Ridder <terrylr@tbcnet.com>
Date: Thu, 09 Jul 1998 20:18:40 -0500

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