]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: avoid min RTT bloat by skipping RTT from delayed-ACK in BBR
authorYuchung Cheng <ycheng@google.com>
Wed, 17 Jan 2018 20:11:01 +0000 (12:11 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Jan 2018 20:39:30 +0000 (15:39 -0500)
commitde98d5d1d6c1b7c047706faf73ca0111274f3e11
treef72181b7dfc5d58ee416a996028ea5c3698a206c
parent302b4d05988286c6dad120bc7d2ecb667427e953
tcp: avoid min RTT bloat by skipping RTT from delayed-ACK in BBR

A persistent connection may send tiny amount of data (e.g. health-check)
for a long period of time. BBR's windowed min RTT filter may only see
RTT samples from delayed ACKs causing BBR to grossly over-estimate
the path delay depending how much the ACK was delayed at the receiver.

This patch skips RTT samples that are likely coming from delayed ACKs. Note
that it is possible the sender never obtains a valid measure to set the
min RTT. In this case BBR will continue to set cwnd to initial window
which seems fine because the connection is thin stream.

Signed-off-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Acked-by: Priyaranjan Jha <priyarjha@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h
net/ipv4/tcp_bbr.c
net/ipv4/tcp_input.c