> On June 15, 2016 at 10:38 PM Eric Dumazet <eduma...@google.com> wrote:
>
> I guess the problem is that some folks use smaller rto than
> RTAX_RTO_MIN , look at tcp_rto_min()

Due to the nature of the Linux calculation, this is probably more of a reason 
to use the RFC 6298 calculation. When a smaller MinRTO as 200ms is used, the 
Linux “advantage” to account for Delayed ACKs up to 200ms is decreased. 
Assuming a MinRTO of 0ms, the Linux ability and the RFC ability to account for 
sudden Delayed ACKs is pretty equal: zero. 

To illustrate this: RTT: 50ms, RTTVAR: 0ms, MinRTO: 50ms, Delayed ACKs: 200ms. 

Before any ACK is delayed:

Linux RTO ~ 100+ms (tested) 
RFC 6298 RTO ~ 50+ms (tested) 

RTT of first delayed ACK if it is not shortened due to another data packet: 
~250ms 

This is not tied to the RTT:
RTT 1000ms, RTTVAR: 0ms, MinRTO: 50ms, Delayed ACKs: 200ms 

Before any ACK is delayed:

Linux RTO ~ 1050+ms (tested) 
RFC 6298 RTO ~ 1000+ms (tested)

RTT of first delayed ACK if it is not shortened due to another data packet: 
~1200ms 

A RFC 6298 problem we run in so far was with extremely steady RTTs and sender 
limited data. A Spurious Retransmission occurred from time to time in this case.

Hagen

Reply via email to