diff options
author | Yuchung Cheng <ycheng@google.com> | 2015-07-09 13:16:30 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-07-09 14:22:52 -0700 |
commit | 76174004a0f19785a328f40388e87e982bbf69b9 (patch) | |
tree | 113a691ab55819f20b367cdeb8ba86440aa62177 /net/ipv4/tcp_cdg.c | |
parent | 071d5080e33d6f24139e4213c2d9f97a2c21b602 (diff) | |
download | linux-stable-76174004a0f19785a328f40388e87e982bbf69b9.tar.gz linux-stable-76174004a0f19785a328f40388e87e982bbf69b9.tar.bz2 linux-stable-76174004a0f19785a328f40388e87e982bbf69b9.zip |
tcp: do not slow start when cwnd equals ssthresh
In the original design slow start is only used to raise cwnd
when cwnd is stricly below ssthresh. It makes little sense
to slow start when cwnd == ssthresh: especially
when hystart has set ssthresh in the initial ramp, or after
recovery when cwnd resets to ssthresh. Not doing so will
also help reduce the buffer bloat slightly.
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Nandita Dukkipati <nanditad@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_cdg.c')
-rw-r--r-- | net/ipv4/tcp_cdg.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/tcp_cdg.c b/net/ipv4/tcp_cdg.c index 8c6fd3d5e40f..167b6a3e1b98 100644 --- a/net/ipv4/tcp_cdg.c +++ b/net/ipv4/tcp_cdg.c @@ -264,7 +264,7 @@ static void tcp_cdg_cong_avoid(struct sock *sk, u32 ack, u32 acked) u32 prior_snd_cwnd; u32 incr; - if (tp->snd_cwnd < tp->snd_ssthresh && hystart_detect) + if (tcp_in_slow_start(tp) && hystart_detect) tcp_cdg_hystart_update(sk); if (after(ack, ca->rtt_seq) && ca->rtt.v64) { |