From: Eric Dumazet <eduma...@google.com>
Date: Tue, 23 Oct 2018 11:54:16 -0700

> With EDT model, SRTT no longer is inflated by pacing delays.
> 
> This means that RTO and some other xmit timers might be setup
> incorrectly. This is particularly visible with either :
> 
> - Very small enforced pacing rates (SO_MAX_PACING_RATE)
> - Reduced rto (from the default 200 ms)
> 
> This can lead to TCP flows aborts in the worst case,
> or spurious retransmits in other cases.
> 
> For example, this session gets far more throughput
> than the requested 80kbit :
> 
> $ netperf -H 127.0.0.2 -l 100 -- -q 10000
> MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 127.0.0.2 
> () port 0 AF_INET
> Recv   Send    Send
> Socket Socket  Message  Elapsed
> Size   Size    Size     Time     Throughput
> bytes  bytes   bytes    secs.    10^6bits/sec
> 
> 540000 262144 262144    104.00      2.66
> 
> With the fix :
> 
> $ netperf -H 127.0.0.2 -l 100 -- -q 10000
> MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 127.0.0.2 
> () port 0 AF_INET
> Recv   Send    Send
> Socket Socket  Message  Elapsed
> Size   Size    Size     Time     Throughput
> bytes  bytes   bytes    secs.    10^6bits/sec
> 
> 540000 262144 262144    104.00      0.12
> 
> EDT allows for better control of rtx timers, since TCP has
> a better idea of the earliest departure time of each skb
> in the rtx queue. We only have to eventually add to the
> timer the difference of the EDT time with current time.
> 
> Signed-off-by: Eric Dumazet <eduma...@google.com>

Applied.

Reply via email to