Messages in this thread | | | Date | Mon, 27 Apr 1998 11:35:28 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [patch] io-apic-2.1.98-B |
| |
On Mon, 27 Apr 1998, Alan Cox wrote: > > > In short, if the ne2000 driver has problems with spurious interrupts, or > > lost interrupts during interrupt processing, then it is a problem with the > > ne2000. Becuase that can happen even without an IO-APIC. > > The ne2000 like every driver has problems with lost interrupts. If you lose > an interrupt you lose your networking until another comes along or we > time out. Potentially you lose networking.
Yes. What I'm talking about is lost interrupts _during processing of the same interrupt_.
> IFF you only suffer from colaescing of interrupts the driver is perfect, it > will loop processing events until the card says 'Im happy'.
Yes, that's what I meant, sorry. I should have made myself more clear.
Right now we do lose interrupts completely when somebody uses "disable_irq() + enable_irq()", and that's because the code to "revive" the interrupt is currently ifdeffed out.
> The NE2000 is quite happy in this situation providing your code has > no races between the card interrupt line, the APIC and the interrupt > enabling/irq return code. You _must_ guarantee that any irq from the instant > we clear the flag on the PIC and 8390 controller will cause another irq to be > issued, even if we are still in the IRQ handler return path as it occurs.
Yes, this atomicity is guaranteed by the irq_controller_lock, which serializes the locking.
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
| |