From patchwork Wed Dec 13 02:22:52 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 847716 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HU4m3Bp+"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yxL8S07R4z9sCZ for ; Wed, 13 Dec 2017 13:23:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753728AbdLMCXA (ORCPT ); Tue, 12 Dec 2017 21:23:00 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:40281 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753683AbdLMCW4 (ORCPT ); Tue, 12 Dec 2017 21:22:56 -0500 Received: by mail-pg0-f68.google.com with SMTP id k15so635472pgr.7 for ; Tue, 12 Dec 2017 18:22:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:cc:date:mime-version :content-transfer-encoding; bh=d45BnFgMnyEE6Wy6aDbc9CokbXS1DrPo+RbISKGe/5Y=; b=HU4m3Bp+Ma0wzh6O4NwsM9PuvYTKlvGshvQRNPPiyhc5ngsoTuQUboxFhMvgpPEgip N2PuZvkjmKeo2ptW0uRGNtjByPcj1aThEHQMTEMnWCfWjPKOtQ3ILYAOPeR1cvYkoTV1 dHCqMwAMcEBri//KUliZZRL6lWLoeWXn/80qAsmnFeutqkqXCQKP+D0gxk1GEkCGD1aq f5y76wuSx70EiZGIcjF6Dzz15s1MFSz322icoarLPUd205fbbZmhw7mrMkFcOd6gBV6K /hUvmTVqnSe3gbXmQWO2SQoelmvA4FI6fjUSlTkKWbjLxFWMnl+WS1vp7o+Jv/6oD3AN 58Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:mime-version :content-transfer-encoding; bh=d45BnFgMnyEE6Wy6aDbc9CokbXS1DrPo+RbISKGe/5Y=; b=uEI4w+sbVjMluc3YXQzLcQd9Xp9wK5WfFHLN7xgXJvutgInxZIlPK32LcBrJfvlidI BG+iuh5zvWd+KXcbnryEyE7Jt8SHaqn3FkF3FTatQnDb6JOzeGrWyBvNoQrS5BXP3Ggq cuAs/c1vSVphrlN2YZmcbtA+xuzYAAeqD/KtoTWykB2OjpZbORqMRh1NY4gk8wjxOamd 1AIJ6R6QSa1hypVFvwT7llopUJlYrCfJwa+A5J9itbQVt4+WrhrRBWZDo+7msbi899uc KsrPXsPh0w+MOUeUng7NfOrGkbGORs1YUdoektZatS79st6sAtW1hs0GTJTuWlXO+mOi owjg== X-Gm-Message-State: AKGB3mL5CeeOHdV3nCjBIf49lpIrj3hTUlPpuXjFp4YHJBI7uYQ+3kdy zJEiveO2//TeN85VRtJyGl8= X-Google-Smtp-Source: ACJfBoun0YwZennjDuCp97usIMSOkNORagnq7IcIapoTLvSrGIpa+xEgu2ZwpEJkJLNaLObf4SGHAw== X-Received: by 10.101.73.203 with SMTP id t11mr3916604pgs.446.1513131775480; Tue, 12 Dec 2017 18:22:55 -0800 (PST) Received: from edumazet-glaptop3.lan (c-67-180-167-114.hsd1.ca.comcast.net. [67.180.167.114]) by smtp.googlemail.com with ESMTPSA id d7sm484463pgu.81.2017.12.12.18.22.53 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 12 Dec 2017 18:22:54 -0800 (PST) Message-ID: <1513131772.25033.60.camel@gmail.com> Subject: [PATCH net] tcp: refresh tcp_mstamp from timers callbacks From: Eric Dumazet To: David Miller Cc: netdev , Soheil Hassas Yeganeh , Neal Cardwell , Mike Maloney Date: Tue, 12 Dec 2017 18:22:52 -0800 X-Mailer: Evolution 3.22.6-1+deb9u1 Mime-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Eric Dumazet Only the retransmit timer currently refreshes tcp_mstamp We should do the same for delayed acks and keepalives. Even if RFC 7323 does not request it, this is consistent to what linux did in the past, when TS values were based on jiffies. Fixes: 385e20706fac ("tcp: use tp->tcp_mstamp in output path") Signed-off-by: Eric Dumazet Cc: Soheil Hassas Yeganeh Cc: Mike Maloney Cc: Neal Cardwell Acked-by: Neal Cardwell Acked-by: Soheil Hassas Yeganeh Acked-by: Mike Maloney ---  net/ipv4/tcp_timer.c |    2 ++  1 file changed, 2 insertions(+) diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 16df6dd44b988a128d97df3a7953437499a216e8..968fda1983762e6d7c078a28ccfcbd9066788daf 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -264,6 +264,7 @@ void tcp_delack_timer_handler(struct sock *sk) icsk->icsk_ack.pingpong = 0; icsk->icsk_ack.ato = TCP_ATO_MIN; } + tcp_mstamp_refresh(tcp_sk(sk)); tcp_send_ack(sk); __NET_INC_STATS(sock_net(sk), LINUX_MIB_DELAYEDACKS); } @@ -632,6 +633,7 @@ static void tcp_keepalive_timer (struct timer_list *t) goto out; } + tcp_mstamp_refresh(tp); if (sk->sk_state == TCP_FIN_WAIT2 && sock_flag(sk, SOCK_DEAD)) { if (tp->linger2 >= 0) { const int tmo = tcp_fin_time(sk) - TCP_TIMEWAIT_LEN;