
This change allows ts2phc to be configured to ignore timing updates that have a large offset spike in order to mitigate the resulting timing skew. In some circumstances on realtime systems with high CPU load, the timestamp consumed by ts2phc can be delayed in reaching ts2phc and results in the offset calculation attempting to speed the clock up by a large margin. This change causes ts2phc to ignore updates that would greatly skew the clock when ts2phc is already in a synchronized state. The global configuration option "max_phc_update_skip_cnt" is provided to allow users to specify how many consecutive offset spike incidents will be ignored before adjusting the clock. The default value is 120. The behaviour can be disabled by setting max_phc_update_skip_cnt to 0. This code is ported from a proposed upstream patch found here: https://sourceforge.net/p/linuxptp/mailman/message/44114092/ Test-plan: Pass: Verify linuxptp package build Pass: Deploy ts2phc binary and verify system time sync Pass: Manually trigger offset spike and verify that ts2phc maintains stable time sync Closes-bug: https://bugs.launchpad.net/starlingx/+bug/2059955 Change-Id: I13cd5c3440682ec9256e11449fe62d5fe28f66fa Signed-off-by: Cole Walker <cole.walker@windriver.com>
35 lines
1.1 KiB
Diff
35 lines
1.1 KiB
Diff
From 01abb33c0851f89e4f96c757c928366df75484ab Mon Sep 17 00:00:00 2001
|
|
From: Miroslav Lichvar <mlichvar@redhat.com>
|
|
Date: Mon, 31 May 2021 11:07:56 +0200
|
|
Subject: [PATCH 05/58] clockcheck: Increase minimum interval.
|
|
|
|
Increase the minimum check interval to 1 second to measure the frequency
|
|
offset more accurately and with default configuration make false
|
|
positives less likely due to a heavily overloaded system.
|
|
|
|
Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
|
|
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
|
|
[commit a082bcd700e4955ebaa00d7039bf4bce92048ac4 upstream]
|
|
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
|
Signed-off-by: Andre Mauricio Zelak <andre.zelak@windriver.com>
|
|
---
|
|
clockcheck.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/clockcheck.c b/clockcheck.c
|
|
index d0b4714..f0141be 100644
|
|
--- a/clockcheck.c
|
|
+++ b/clockcheck.c
|
|
@@ -23,7 +23,7 @@
|
|
#include "clockcheck.h"
|
|
#include "print.h"
|
|
|
|
-#define CHECK_MIN_INTERVAL 100000000
|
|
+#define CHECK_MIN_INTERVAL 1000000000
|
|
#define CHECK_MAX_FREQ 900000000
|
|
|
|
struct clockcheck {
|
|
--
|
|
2.30.2
|
|
|