diff options
author | Eric Dumazet <edumazet@google.com> | 2015-08-21 17:38:02 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-08-25 11:33:54 -0700 |
commit | 43e122b014c955a33220fabbd09c4b5e4f422c3c (patch) | |
tree | a5accf2276666812aed04749e3b6f44505a5cbab /net/rds | |
parent | 4ec3b28c2763e11a423d03810ff0be65f02e635e (diff) | |
download | linux-stable-43e122b014c955a33220fabbd09c4b5e4f422c3c.tar.gz linux-stable-43e122b014c955a33220fabbd09c4b5e4f422c3c.tar.bz2 linux-stable-43e122b014c955a33220fabbd09c4b5e4f422c3c.zip |
tcp: refine pacing rate determination
When TCP pacing was added back in linux-3.12, we chose
to apply a fixed ratio of 200 % against current rate,
to allow probing for optimal throughput even during
slow start phase, where cwnd can be doubled every other gRTT.
At Google, we found it was better applying a different ratio
while in Congestion Avoidance phase.
This ratio was set to 120 %.
We've used the normal tcp_in_slow_start() helper for a while,
then tuned the condition to select the conservative ratio
as soon as cwnd >= ssthresh/2 :
- After cwnd reduction, it is safer to ramp up more slowly,
as we approach optimal cwnd.
- Initial ramp up (ssthresh == INFINITY) still allows doubling
cwnd every other RTT.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds')
0 files changed, 0 insertions, 0 deletions