lkml.org 
[lkml]   [1998]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [patch] io-apic-2.1.98-B
Date
> 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.

IFF you only suffer from colaescing of interrupts the driver is perfect, it
will loop processing events until the card says 'Im happy'.

> and "interrupts" is just bound to fail. My latest flag-code guarantees
> that if you saw an interrupt (or a hundred) during the processing of an
> older interrupt, then the interrupt routine will be called again (for as
> long as we get nested interrupts). But it will not queue up the

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.

The spurious IRQ is left over from the ISA bus days. Its not appropriate in
PCI and the newer (not yet in kernel 2.1.x) ne2k-pci driver can handle
this cleanly for us (ie it doesnt print messages).

> timing-issue has existed before, and your machine just didn't happen to
> see it. I bet other machines have seen it.

The number of cases where irqs arrive sufficiently slowly to avoid notice
is probably high. I've inspected all the network drivers and I can find no
driver that will do worse than print "Spurious IRQ" give the guarantees
proposed.

Alan


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu

\
 
 \ /
  Last update: 2005-03-22 13:42    [W:0.053 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site