[git commit] ntpd: add experimental patch
Denys Vlasenko
vda.linux at googlemail.com
Fri Mar 4 06:36:04 UTC 2016
commit: https://git.busybox.net/busybox/commit/?id=aee7cd82be31577c2e5c144d083af206bedbb96a
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
networking/ntpd.diff | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/networking/ntpd.diff b/networking/ntpd.diff
new file mode 100644
index 0000000..4afd7e1
--- /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)) {
More information about the busybox-cvs
mailing list