Re: Linux 2.2.16 through 2.2.18preX TCP hang bug triggered by rsync

From: Andi Kleen (ak@suse.de)
Date: Thu Jan 25 2001 - 07:34:29 EST


On Thu, Jan 25, 2001 at 12:24:11PM +0000, Studierende der Universitaet des Saarlandes wrote:
> Andi wrote:
> > Basically it would accept the acks with the data in most
> > cases except when the application has totally stopped
> > reading and in that case it doesn't harm to ignore the
> > acks.
>
> But it seems that that's exactly what rsync does:
> It performs bulk data writes without reading. There are 32 kB in the
> receive buffers, and rsync continues to write. If the process would read
> some data the TCP stack would immediately recover.

Yes, but it has 64K of buffer. The other 32K are for skb headers. When it is
sending MTU sized packets (and the MTU has any reasonable value) then most
of the other 32K are empty (a skb has ~150 bytes overhead) and you could
fit a few such bogus acks with data into that.

 
> RST are already processed, ACK's should be processed, but what about
> URG?

Nobody cares about URG, it is broken anyways ;)

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



This archive was generated by hypermail 2b29 : Wed Jan 31 2001 - 21:00:21 EST