mirror of
https://github.com/sheumann/hush.git
synced 2024-12-23 05:29:58 +00:00
aee7cd82be
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
25 lines
679 B
Diff
25 lines
679 B
Diff
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)) {
|