From aee7cd82be31577c2e5c144d083af206bedbb96a Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 4 Mar 2016 07:36:04 +0100 Subject: ntpd: add experimental patch Signed-off-by: Denys Vlasenko --- networking/ntpd.diff | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 networking/ntpd.diff (limited to 'networking/ntpd.diff') diff --git a/networking/ntpd.diff b/networking/ntpd.diff new file mode 100644 index 000000000..4afd7e134 --- /dev/null +++ b/networking/ntpd.diff @@ -0,0 +1,24 @@ +This patch scales down small offsets quadratically. Reduces sensitivity to jitter + +diff --git a/networking/ntpd.c b/networking/ntpd.c +index 4695c33..ac05815 100644 +--- a/networking/ntpd.c ++++ b/networking/ntpd.c +@@ -1654,6 +1654,17 @@ update_local_clock(peer_t *p) + */ + if (G.offset_to_jitter_ratio >= TIMECONST_HACK_GATE) + tmx.constant--; ++ ++{ ++ double d = p->lastpkt_delay; ++ if (d > SLEW_THRESHOLD) ++ d = SLEW_THRESHOLD; ++ d /= 2; ++ if ((abs_offset / d) < 1) { ++ offset *= (abs_offset / d); ++ } ++} ++ + tmx.offset = (long)(offset * 1000000); /* usec */ + if (SLEW_THRESHOLD < STEP_THRESHOLD) { + if (tmx.offset > (long)(SLEW_THRESHOLD * 1000000)) { -- cgit v1.2.3