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.