Re: 2.2.15pre19 (gcc version 2.7.2.3) eth messages

From: Andrey Savochkin (saw@saw.sw.com.sg)
Date: Wed Apr 19 2000 - 23:22:57 EST


Hello,

On Thu, Apr 20, 2000 at 02:45:16AM +0000, Andrew Morton wrote:
> "Jeffrey E. Hundstad" wrote:
> > eth0: Printing Rx ring (next to receive into 936742, dirty index
> > 936734).
> >
>
> You're getting Tx timeouts.

No, he don't :-)

>
> Andrey, I'm looking at these two statements in speedo_start_xmit():
>
> clear_suspend(sp->last_cmd);
> /* We want the time window between clearing suspend flag on the
> previous
> command and resuming CU to be as small as possible.
> Interrupts in between are very undesired. --SAW */
> outb(CUResume, ioaddr + SCBCmd);
>
> Is there a possibility that the write in clear_suspend() is still stuck
> in the CPU's write buffer when the NIC's DMA engine is unstalled?

I'm not sure what do you mean.

If NIC sees suspend bit it stops operations.
Then we clear the bit in memory which doesn't have any effect on NIC in a
stopped state. It runs after the resume command.

If NIC hasn't reached the last frame, all the activity doesn't have any
effect.

There are also a possibility that NIC reads config word after
clear_suspend(), proceeds the next command, stops, and then gets the resume
command. That's what the comment is talking about: we are trying to reduce
such chances. The chances for such a situation and the consequences are not
very clear. However, all attempts to fix the problem will seriously damage
the card performance for _every_ packet. I really want to fix this race
condition, but all my ideas were very expensive.

BTW, this details of the transmit procedure are discussed in the comments at
the beginning of the driver.

> (Where does one find the eepro datasheet, BTW?)

Do not know... The very basic documentation without any detail for writing a
software is available from Intel's site.
If someone finds any I'll be glad to have a copy :-)

Best regards
                                        Andrey V.
                                        Savochkin

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



This archive was generated by hypermail 2b29 : Sun Apr 23 2000 - 21:00:16 EST