tcp: fix the timid additive increase on stretch ACKs
authorNeal Cardwell <ncardwell@google.com>
Thu, 29 Jan 2015 01:01:36 +0000 (20:01 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Jan 2015 06:18:37 +0000 (22:18 -0800)
commit814d488c61260521b1b3cc97063700a5a6667c8f
tree676d16d97849f4b4727d365cd35e67e67d9a2c79
parente73ebb0881ea5534ce606c1d71b4ac44db5c6930
tcp: fix the timid additive increase on stretch ACKs

tcp_cong_avoid_ai() was too timid (snd_cwnd increased too slowly) on
"stretch ACKs" -- cases where the receiver ACKed more than 1 packet in
a single ACK. For example, suppose w is 10 and we get a stretch ACK
for 20 packets, so acked is 20. We ought to increase snd_cwnd by 2
(since acked/w = 20/10 = 2), but instead we were only increasing cwnd
by 1. This patch fixes that behavior.

Reported-by: Eyal Perry <eyalpe@mellanox.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_cong.c