From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neal Cardwell Subject: [PATCH net 3/3] tcp_bbr: reset long-term bandwidth sampling on loss recovery undo Date: Thu, 7 Dec 2017 12:43:32 -0500 Message-ID: <20171207174332.17689-4-ncardwell@google.com> References: <20171207174332.17689-1-ncardwell@google.com> Cc: netdev@vger.kernel.org, Neal Cardwell To: David Miller Return-path: Received: from mail-yb0-f193.google.com ([209.85.213.193]:42696 "EHLO mail-yb0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753302AbdLGRnu (ORCPT ); Thu, 7 Dec 2017 12:43:50 -0500 Received: by mail-yb0-f193.google.com with SMTP id t127so3280880ybf.9 for ; Thu, 07 Dec 2017 09:43:50 -0800 (PST) In-Reply-To: <20171207174332.17689-1-ncardwell@google.com> Sender: netdev-owner@vger.kernel.org List-ID: Fix BBR so that upon notification of a loss recovery undo BBR resets long-term bandwidth sampling. Under high reordering, reordering events can be interpreted as loss. If the reordering and spurious loss estimates are high enough, this can cause BBR to spuriously estimate that we are seeing loss rates high enough to trigger long-term bandwidth estimation. To avoid that problem, this commit resets long-term bandwidth sampling on loss recovery undo events. Signed-off-by: Neal Cardwell Reviewed-by: Yuchung Cheng Acked-by: Soheil Hassas Yeganeh --- net/ipv4/tcp_bbr.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv4/tcp_bbr.c b/net/ipv4/tcp_bbr.c index ab3ff14ea7f7..8322f26e770e 100644 --- a/net/ipv4/tcp_bbr.c +++ b/net/ipv4/tcp_bbr.c @@ -878,6 +878,7 @@ static u32 bbr_undo_cwnd(struct sock *sk) bbr->full_bw = 0; /* spurious slow-down; reset full pipe detection */ bbr->full_bw_cnt = 0; + bbr_reset_lt_bw_sampling(sk); return tcp_sk(sk)->snd_cwnd; } -- 2.15.1.424.g9478a66081-goog