From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuchung Cheng Subject: [PATH net 2/4] tcp: always evaluate losses in RACK upon undo Date: Thu, 7 Dec 2017 11:33:31 -0800 Message-ID: <20171207193333.59039-3-ycheng@google.com> References: <20171207193333.59039-1-ycheng@google.com> Cc: netdev@vger.kernel.org, edumazet@google.com, ncardwell@google.com, priyarjha@google.com, Yuchung Cheng To: davem@davemloft.net Return-path: Received: from mail-it0-f65.google.com ([209.85.214.65]:38671 "EHLO mail-it0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752142AbdLGTdt (ORCPT ); Thu, 7 Dec 2017 14:33:49 -0500 Received: by mail-it0-f65.google.com with SMTP id r6so16974389itr.3 for ; Thu, 07 Dec 2017 11:33:49 -0800 (PST) In-Reply-To: <20171207193333.59039-1-ycheng@google.com> Sender: netdev-owner@vger.kernel.org List-ID: When sender detects spurious retransmission, all packets marked lost are remarked to be in-flight. However some may be considered lost based on its timestamps in RACK. This patch forces RACK to re-evaluate, which may be skipped previously if the ACK does not advance RACK timestamp. Signed-off-by: Yuchung Cheng Reviewed-by: Neal Cardwell Reviewed-by: Priyaranjan Jha Reviewed-by: Eric Dumazet --- net/ipv4/tcp_input.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 734cfc8ff76e..5a240f9d208b 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -2326,6 +2326,7 @@ static void tcp_undo_cwnd_reduction(struct sock *sk, bool unmark_loss) } tp->snd_cwnd_stamp = tcp_jiffies32; tp->undo_marker = 0; + tp->rack.advanced = 1; /* Force RACK to re-exam losses */ } static inline bool tcp_may_undo(const struct tcp_sock *tp) -- 2.15.1.424.g9478a66081-goog