[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