Re: eth*: transmit timed out since .27

From: Maciej W. Rozycki
Date: Mon Aug 16 2004 - 15:12:19 EST


On Mon, 16 Aug 2004, Len Brown wrote:

> > MIS: 42
>
> This is unusual.
> MIS is a hardware workaround and should normally be 0.

Unfortunately these events seem to be triggerable for all systems using
serial APIC interrupt delivery. All that is needed is a sufficiently high
load on interrupts, even a transient one. Admittedly the definition of
"sufficient" here is very high, something like at least ten thousands of
interrupts per second. E.g. I've been able to observe a few of them on my
system when a UDP NFS client was untarring an archive over a 100Mbps
network -- both the archive and the destination were located in an NFS
mounted filesystem and the size of the untarred data was around 300MB.
The APIC hardware is rock-solid there -- after many years of operation I
have yet to see a single APIC error.

One "reliable" way of triggering these events is configuring the PIT
timer interrupt input as level-triggered in the I/O APIC. ;-) This is
actually how I did run-time testing of this code.

Maciej
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/