]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: extend F-RTO to catch more spurious timeouts
authorYuchung Cheng <ycheng@google.com>
Fri, 13 Jan 2017 06:11:37 +0000 (22:11 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 14 Jan 2017 03:37:16 +0000 (22:37 -0500)
commit114a25b22120a9e63e7ec56321d0df60b42a5939
tree460698fade674b22854ae62d63f51d72fd594641
parent64658e3fb031b3ce0812750b080ac3245c3ba322
tcp: extend F-RTO to catch more spurious timeouts

Current F-RTO reverts cwnd reset whenever a never-retransmitted
packet was (s)acked. The timeout can be declared spurious because
the packets acknoledged with this ACK was transmitted before the
timeout, so clearly not all the packets are lost to reset the cwnd.

This nice detection does not really depend F-RTO internals. This
patch applies the detection universally. On Google servers this
change detected 20% more spurious timeouts.

Suggested-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c