On 2/20/2000 8:05 AM Bob Edwards Robert.Edwards@anu.edu.au wrote:
>Anyone got any idea as to why the eepro100 driver is so much faster at
>the TFTP than the ntulip driver?
Good Question :-) My initial guess would be "Intel must use faster
hamsters!" but...
Let's look at some (possibly) more likely suspects:
>I have checked with tcpdump in both situations. In the case of the
>eepro100's, the 516byte TFTP frames are sent out about once every
>350usec (there are about 10,600 such frames). In the case of the
>ntulip 21143's, the frames are sent out every 3900usec.
Hmmm, I wonder if this call to udelay after transmitting a packet could
have anything to do with it:
/* Start Tx */
outl(inl(ioaddr + CSR6) | 0x00002000, ioaddr + CSR6);
udelay(300);
Now why would we sit around for 300useconds (or more) after (presumably)
acking some packet from the host? :-) Sounds to me like there needs to
be an investigation! I mean we *are* in control of TX, after all! The
driver is now just going to sit around waiting for the next packet,
right? It's not going to re-transmit on top of it. What idiot put that
in there? :-) :-)
As a matter of fact, we should probably kick the controller and tell it
to transmit *immediately* after enabling the transmitter, and just for
good measure, do the same right after we reset the chip. :-)
Try this patch to ntulip.c:
$ diff -u ../src/ntulip.c.orig ntulip.c
--- ../src/ntulip.c.orig Sun Feb 20 11:38:56 2000
+++ ntulip.c Sun Feb 20 13:34:20 2000
@@ -445,6 +445,8 @@
outl(csr6, ioaddr + CSR6);
outl(csr6 | 0x00002000, ioaddr + CSR6);
outl(csr6 | 0x00002002, ioaddr + CSR6);
+ /* Trigger an immediate poll demand. */
+ outl(0, ioaddr + CSR2);
}
@@ -484,7 +486,8 @@
/* Start Tx */
outl(inl(ioaddr + CSR6) | 0x00002000, ioaddr + CSR6);
- udelay(300);
+ /* Trigger an immediate transmit demand. */
+ outl(0, ioaddr + CSR1);
}
/*********************************************************************/
---- end patch ---
Do let us know how this works. :-)
Regards,
Marty
---
Name: Martin D. Connor
US Mail: Entity Cyber, Inc.; P.O. Box 391827; Cambridge, MA 02139; USA
Voice: (617) 491-6935, Fax: (617) 491-7046
Email: mdc@thinguin.org
Web: http://www.thinguin.org/
===========================================================================
This Mail was sent to netboot mailing list by:
Marty Connor <mdc@thinguin.org>
To get help about this list, send a mail with 'help' as the only string in
it's body to majordomo@baghira.han.de. If you have problems with this list,
send a mail to netboot-owner@baghira.han.de.
For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.