Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp780451ybl; Wed, 11 Dec 2019 07:24:58 -0800 (PST) X-Google-Smtp-Source: APXvYqx7sTx3RpDp5m79MZcsU8gq/k+fjUXG4MYf6D4KB1Lms0rr7ATsRvF45hiF4JgZHSm1m2P8 X-Received: by 2002:aca:758c:: with SMTP id q134mr3297258oic.33.1576077898190; Wed, 11 Dec 2019 07:24:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576077898; cv=none; d=google.com; s=arc-20160816; b=sk1MQvAiTe8RZCMUSuuiaHPOHHTIe2WndJ41zr84KlzSPwz3+60S1Zg+FJLk1TZYej PVMSGE5ev1JabrGxXX2UpLWvEAn1lVT3/yeGe0e1XfsxIMrtGEc6jpp5IWwVxoi7ZGjs 6rA2oEJ7iX30mlh26Bte7DEKsrumYKba+ZnMkFpqDX8Ipqdz1rshybwWYLr3onVgo4oD c6cHMMJLz8q2Okd2J51DraE96lMYxHmd6Z1/lR3wcEceRDUZH081yo0An45BRKcevLm0 tJHLwqomJhsFWTunWk0XwETY9QSSwNYG/DpxjQtTcfvOj4TVrqyI3SAEXjuUC5MvJbso lQ+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=aGuCO2AxjjQDUOf4B+F1L5rSBWmzwJGZ0YZnClJCuIE=; b=JLK46hf5exDrXkUsDDJqix/uyaVFAJU8RBBY+Fzr/5OQVbGKNJm874snKqA/w4ID9L VauhICCrMaoRN7XjyVuGTK2mEigyAWwi3cG4O0/WHXEYY6KIe+9ZGCS4GiDd205gMoCa MeaAadICIacc26PURMxCOimcn8mtotCTXqppVq05d8Cnws226Th9PW60Z9zQW4LTzKB4 CFFHtI15XkjaPcFQKTnomz/UKOFXeSuKxOm2z9yQbx32hnPh3f7KL2U7SzA6oehFXeED 3jbJadRzOFpg2qk+5Y4SdjfmcIansJasnk3TvBHYzHiPu5ppnuGRA6x6Hr+WUXGTNG1S YGkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uxCOO1Cu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g17si1202113otk.252.2019.12.11.07.24.45; Wed, 11 Dec 2019 07:24:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uxCOO1Cu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732809AbfLKPYM (ORCPT + 99 others); Wed, 11 Dec 2019 10:24:12 -0500 Received: from mail.kernel.org ([198.145.29.99]:55406 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732648AbfLKPYK (ORCPT ); Wed, 11 Dec 2019 10:24:10 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 143182077B; Wed, 11 Dec 2019 15:24:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1576077849; bh=Dq0fNFRV/9xFsNZdstNwHE220HFU4gDryd/VbmIWB/M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uxCOO1CubyJPeeyEyqihxxGSIYCx3Z0ifRekKv3gjEYdMvaUwLr6ArPItQ6fKbqc+ 7PCQMmdHRwwnxhkcOPtxMtWtusd8b7v2ssk/uFrX5btrLqok3sbblvIu57u5/UsKLL NIqUkVAeba3xX5hhgdTdh4gqscapehbd3KcrZHe8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Yuchung Cheng , Eric Dumazet , Neal Cardwell , "David S. Miller" , Sasha Levin Subject: [PATCH 4.19 157/243] tcp: fix SNMP TCP timeout under-estimation Date: Wed, 11 Dec 2019 16:05:19 +0100 Message-Id: <20191211150349.766066209@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191211150339.185439726@linuxfoundation.org> References: <20191211150339.185439726@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yuchung Cheng [ Upstream commit e1561fe2dd69dc5dddd69bd73aa65355bdfb048b ] Previously the SNMP TCPTIMEOUTS counter has inconsistent accounting: 1. It counts all SYN and SYN-ACK timeouts 2. It counts timeouts in other states except recurring timeouts and timeouts after fast recovery or disorder state. Such selective accounting makes analysis difficult and complicated. For example the monitoring system needs to collect many other SNMP counters to infer the total amount of timeout events. This patch makes TCPTIMEOUTS counter simply counts all the retransmit timeout (SYN or data or FIN). Signed-off-by: Yuchung Cheng Signed-off-by: Eric Dumazet Signed-off-by: Neal Cardwell Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- net/ipv4/tcp_timer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 50b15e1c633b4..681882a409686 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -482,11 +482,12 @@ void tcp_retransmit_timer(struct sock *sk) goto out_reset_timer; } + __NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPTIMEOUTS); if (tcp_write_timeout(sk)) goto out; if (icsk->icsk_retransmits == 0) { - int mib_idx; + int mib_idx = 0; if (icsk->icsk_ca_state == TCP_CA_Recovery) { if (tcp_is_sack(tp)) @@ -501,10 +502,9 @@ void tcp_retransmit_timer(struct sock *sk) mib_idx = LINUX_MIB_TCPSACKFAILURES; else mib_idx = LINUX_MIB_TCPRENOFAILURES; - } else { - mib_idx = LINUX_MIB_TCPTIMEOUTS; } - __NET_INC_STATS(sock_net(sk), mib_idx); + if (mib_idx) + __NET_INC_STATS(sock_net(sk), mib_idx); } tcp_enter_loss(sk); -- 2.20.1