I think I know the answer to this, but I'm having trouble
convincing myself while looking at my code:
Once a TCP/IP connection has been established (say via accept and connect),
the resulting connection is symetric right?
I'm seeing something wierd where the accepting side of the connection
will not run near as fast as the connecting side. (say 15Mbps v/s 20Mbps).
The program on the slower side shows very little CPU usage.
I'm using select and non-blocking IO, generally doing writes to
the kernel of about 24k bytes. I'm also running a 30Mbps symetric
UDP connection on a different set of ports, and a 10Mbps UDP connection
on the same ports as the tcp-connection above. The UDP traffic seems
to be having no problem at all...
Also, either the drivers suck much more (possible, I'm using some
wierd LNYX 4-port 21143 Tulip card), or something else is wierd, because
I get worse performance in 2.4.3-pre1 than in 2.2.19-pre-ac-latest-er-something
It does seem that these interfaces are running 100bt-HALF_DUPLEX, so that
could be the problem...
Ben Greear (greearb@xxxxxxxxxxxxxxx) http://www.candelatech.com
Author of ScryMUD: scry.wanfear.com 4444 (Released under GPL)