From patchwork Tue Aug 6 12:38:58 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tingwei Liu X-Patchwork-Id: 265050 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3EC242C0085 for ; Tue, 6 Aug 2013 22:39:39 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756259Ab3HFMjR (ORCPT ); Tue, 6 Aug 2013 08:39:17 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:47440 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756168Ab3HFMjQ (ORCPT ); Tue, 6 Aug 2013 08:39:16 -0400 Received: by mail-pa0-f54.google.com with SMTP id kx1so670486pab.41 for ; Tue, 06 Aug 2013 05:39:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=G/9lyWQUsNx1rOx6VLxGHyl4wey3NEBO+DhxDWY9uoM=; b=yNK9c38Odq+s1+RsN9Xv/18VeReoH/HFLnISgIXpFzt6dk2GvtMeh3Iyg3VinVLVtd VGwtFwJhafGCuGCXceWog1ghXIkpcsljPCdJExgg7N+3D50+8Y7Z7vwFuuvkKKTTKcWM CCjs0h1owjMcHDQbApBYrUxIlYLtqyXindnNdsNFljool8Jx/wDe3JymSBf5H3XP4MF7 CB57s9golwBEQO112YNdGzpTFqV7NrpuYWAF8mAuDVtRMtKmX45soB49CAOwTFxh0mhW o3EMvbjzTzhvd9BwKcZpPGqP/eytIbCfI8rQeRoI1PR/t9pntoFxH3Na0CXsZVrtakWL p7ow== X-Received: by 10.66.146.42 with SMTP id sz10mr2984772pab.78.1375792756208; Tue, 06 Aug 2013 05:39:16 -0700 (PDT) Received: from gmail.com ([218.201.112.178]) by mx.google.com with ESMTPSA id jf4sm1805054pbb.19.2013.08.06.05.39.14 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 06 Aug 2013 05:39:15 -0700 (PDT) Received: by gmail.com (Postfix, from userid 0) id A8FD523837B; Tue, 6 Aug 2013 20:38:58 +0800 (CST) From: Tingwei Liu To: netdev@vger.kernel.org, davem@davemloft.net, kuznet@ms2.inr.ac.ru, eric.dumazet@gmail.com Cc: Tingwei Liu Subject: [PATCH net-next] tcp:elapsed variable calculated twice while keepalive working Date: Tue, 6 Aug 2013 20:38:58 +0800 Message-Id: <1375792738-19099-1-git-send-email-tingw.liu@gmail.com> X-Mailer: git-send-email 1.6.0.2 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When tcp keepalive working elapsed calculated twice while the first time is not needed! CC: Eric Dumazet CC: Alexey Kuznetsov Signed-off-by: Tingwei Liu --- net/ipv4/tcp_timer.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 4b85e6f..03091d9 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -591,11 +591,11 @@ static void tcp_keepalive_timer (unsigned long data) if (!sock_flag(sk, SOCK_KEEPOPEN) || sk->sk_state == TCP_CLOSE) goto out; - elapsed = keepalive_time_when(tp); - /* It is alive without keepalive 8) */ - if (tp->packets_out || tcp_send_head(sk)) + if (tp->packets_out || tcp_send_head(sk)) { + elapsed = keepalive_time_when(tp); goto resched; + } elapsed = keepalive_time_elapsed(tp);