Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp5984773ybc; Wed, 27 Nov 2019 12:55:07 -0800 (PST) X-Google-Smtp-Source: APXvYqwua3py1U34e8w5YB3cddZjlugM4nk5LMavsCiThLlyZYWz8hG6dH+ub2099Klqzf+DjEoT X-Received: by 2002:aa7:d908:: with SMTP id a8mr33813352edr.173.1574888107113; Wed, 27 Nov 2019 12:55:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574888107; cv=none; d=google.com; s=arc-20160816; b=ws+EoUlr4aYy9U+3+4sVw8WTCzj5Y0mYuE/FmlbOekJSp9ANfQJfShn18kubS1cqPK LfHp+umRAuDz1ZpwIgWbU6MjOkWXDuvLPY/iQ2JCKcAU83cxJneJbt3AQbih1s3vD24k WTXhFUasBO8R1PVprDGnuOm+WudbpDNRFCHMDBYTx7X1mtznEAYeQI0syJCaEcu9Rk83 M1g0Uddj3AYKGXTla+eA7gb73g8jysTV8vZhqg0np4xwjsNloY5Fsk/QNmWafQEdZpb3 KoEVAHeO+QypMNWBIzF02lgKadzffvepFHX7eRexVd1bzjmLSfJXru/oshGNGakC/knI QzKQ== 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=CmXiIuSD/n5XGmrpk3JQftLZpzcxujdwIDiQhn9/Xss=; b=YmV9kBRPaIuAX6fiZt9VMybuWn4rsoTWBPSPMemHeibTPEXPEKx06YH3LWF3Pk83At +EXUzt1ZnT9C/n4wyb8WuZRtX8jTq5jRsL1Kk/F+gxvbLz7C3v9GfLXz6F+eE9JZZyMn fMoPvMxKLGmIlnSXo1RcoccLCyk5HkLoP7LEYl0s5UI2uPg+Csy0zti8dY3jUUC5tRu6 IJhH0HVqx4NtVKLDZgpyUiBerUMU02nAwvsCJqLj7dmlO5P4CNz/vV89Yom34Ci/pgGX ZLzFeNLln1y3CAaULlZKaWPTrjh2vRzeg5MOkGQAZruTTzZIAHGHLWneWJkBYKjY8yLf TnDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jJMALwx4; 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 c26si11917636edc.416.2019.11.27.12.54.43; Wed, 27 Nov 2019 12:55:07 -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=jJMALwx4; 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 S1730418AbfK0Uu6 (ORCPT + 99 others); Wed, 27 Nov 2019 15:50:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:37150 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730001AbfK0Uuw (ORCPT ); Wed, 27 Nov 2019 15:50:52 -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 174E421850; Wed, 27 Nov 2019 20:50:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574887851; bh=J0/R4Z5BY+02R0pbRuvu0OdHWnNZFRHfN+3UcXMO7bk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jJMALwx4igSOpNGTH3SaY/BgRAW7LHRxx73JP+Ju+jO7oamDgCCSlSrIqkgJu2Met 5HXfUjnKD+8hdHjgEWfl3Ymdk6Im2GTO+lPk+8oScC3JMTeICxKEBUutSJM9bCRluj omdFhC2euryX1AlFdggZaoH0mx1tVoyktFV/CJRM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jacob Keller , Richard Cochran , Thomas Gleixner , Miroslav Lichvar , Aaron Brown , Jeff Kirsher , Sasha Levin Subject: [PATCH 4.14 119/211] igb: shorten maximum PHC timecounter update interval Date: Wed, 27 Nov 2019 21:30:52 +0100 Message-Id: <20191127203105.303707787@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191127203049.431810767@linuxfoundation.org> References: <20191127203049.431810767@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: Miroslav Lichvar [ Upstream commit 094bf4d0e9657f6ea1ee3d7e07ce3970796949ce ] The timecounter needs to be updated at least once per ~550 seconds in order to avoid a 40-bit SYSTIM timestamp to be misinterpreted as an old timestamp. Since commit 500462a9d ("timers: Switch to a non-cascading wheel"), scheduling of delayed work seems to be less accurate and a requested delay of 540 seconds may actually be longer than 550 seconds. Shorten the delay to 480 seconds to be sure the timecounter is updated in time. This fixes an issue with HW timestamps on 82580/I350/I354 being off by ~1100 seconds for few seconds every ~9 minutes. Cc: Jacob Keller Cc: Richard Cochran Cc: Thomas Gleixner Signed-off-by: Miroslav Lichvar Tested-by: Aaron Brown Signed-off-by: Jeff Kirsher Signed-off-by: Sasha Levin --- drivers/net/ethernet/intel/igb/igb_ptp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c index 0746b19ec6d37..295d27f331042 100644 --- a/drivers/net/ethernet/intel/igb/igb_ptp.c +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c @@ -65,9 +65,15 @@ * * The 40 bit 82580 SYSTIM overflows every * 2^40 * 10^-9 / 60 = 18.3 minutes. + * + * SYSTIM is converted to real time using a timecounter. As + * timecounter_cyc2time() allows old timestamps, the timecounter + * needs to be updated at least once per half of the SYSTIM interval. + * Scheduling of delayed work is not very accurate, so we aim for 8 + * minutes to be sure the actual interval is shorter than 9.16 minutes. */ -#define IGB_SYSTIM_OVERFLOW_PERIOD (HZ * 60 * 9) +#define IGB_SYSTIM_OVERFLOW_PERIOD (HZ * 60 * 8) #define IGB_PTP_TX_TIMEOUT (HZ * 15) #define INCPERIOD_82576 BIT(E1000_TIMINCA_16NS_SHIFT) #define INCVALUE_82576_MASK GENMASK(E1000_TIMINCA_16NS_SHIFT - 1, 0) -- 2.20.1