This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RedBoot tcp hack


On Mon, 2003-12-22 at 09:18, Mark Salter wrote:
> >>>>> Gary Thomas writes:
> 
> +	* src/net/tcp.c (tcp_send): Add [restore] delay into TCP write
> +	path.  Sadly, there seems to be some issue where some ACK packets
> +	get lost unless this is present (at least on some hardware).  
> +	n.b. a small delay here is definitely preferable to the horrendous
> +	delays imposed by TCP retries if this condition occurs.
> 
> We can't leave this in. It creates a 2ms overhead for every transmitted
> tcp segment. The actual problem and a proper fix needs to be found. I've
> never seen anything like described above. Could you elaborate on how to
> reproduce, etc.

Actually, it's nothing new!  This delay used to be in the ethernet
driver layer (io/eth/current/src/stand/eth_drv.c), in the "write block"
path.  When I took it out (8/19/03), certain platforms started giving
terrible performance :-(  I put it back where it is now, with the 
comment, to get back to where things were

I've only seen it on certain hardware, but all it takes is to connect 
via GDB and then download a file.  Without the change, it can take 
minutes to download something that can take seconds with.

I could probably generate a TCP dump if you wanted to analyze it.

-- 
Gary Thomas <gary@mlbassoc.com>
MLB Associates


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]