aboutsummaryrefslogtreecommitdiff
path: root/networking/ntpd.diff
blob: 4afd7e134962e216aa8501e686a4bd46ef69d01a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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)) {