Re: [patch] TCP/IP delacks disabled with MPI

Josip Loncaric (josip@icase.edu)
Mon, 24 May 1999 22:55:47 -0400


"David S. Miller" wrote:
>
> BTW, if all of your analysis is second hand, can the person who does
> "know" that we are broken elaborate his analysis here so I can fix the
> problem? I believe we are doing delayed ACK and cwnd advancement
> correctly.

>From what I've been told, Jacobson's original 1988 SIGCOMM paper talked
about ACKed packets; rfc2001 counts ACKs but assumes that typically
every other segment is ACKed. For practical reasons, Linux counts ACKs
instead of ACKed packets. However, there is *some* kind of ACK-related
bug in Linux (see http://www.icase.edu/coral/LinuxTCP.html) which goes
away when immediate ACKs are forced. Therefore, *something* is not
being done correctly, particularly since people have *not* had a similar
problem with other implementations of Unix.

Sincerely,
Josip

P.S. Linux also keeps cwnd in segments while rfc2001 keeps cwnd in bytes
(in multiples of MSS). Perhaps this messes things up with small
packets. If my interpretation is correct, we should be able to send 36
small TCP packets (1-byte payload each) when cwnd=1; instead, Linux
kernel 2.2.2 allows only 1 packet to be sent. Here is a calculation:

cwnd=1 (measured in segments)
1-byte payload => 41 byte TCP packet
36*41=1476 bytes < MSS=1500 bytes (the initial congestion window)

So rfc2001 would allow 36 tiny packets to be sent when cwnd=1, but Linux
2.2.2 test reads

if(tcp_packets_in_flight(tp) >= tp->snd_cwnd)

and since 36 >= 1, Linux would not allow this. In fact, Linux would
allow at most a single packet to be in flight when cwnd=1.

-- 
Dr. Josip Loncaric, Senior Staff Scientist        mailto:josip@icase.edu
ICASE, Mail Stop 132C                       http://www.icase.edu/~josip/
NASA Langley Research Center             mailto:j.loncaric@larc.nasa.gov
Hampton, VA 23681-2199, USA    Tel. +1 757 864-2192  Fax +1 757 864-6134

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