ntpd: add experimental patch
authorDenys Vlasenko <vda.linux@googlemail.com>
Fri, 4 Mar 2016 06:36:04 +0000 (07:36 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 4 Mar 2016 06:36:04 +0000 (07:36 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
networking/ntpd.diff [new file with mode: 0644]

diff --git a/networking/ntpd.diff b/networking/ntpd.diff
new file mode 100644 (file)
index 0000000..4afd7e1
--- /dev/null
@@ -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)) {