1 diff -up ntp-4.2.4p7/ntpd/ntp_loopfilter.c.daemonpll ntp-4.2.4p7/ntpd/ntp_loopfilter.c
2 --- ntp-4.2.4p7/ntpd/ntp_loopfilter.c.daemonpll 2009-05-18 18:13:31.000000000 +0200
3 +++ ntp-4.2.4p7/ntpd/ntp_loopfilter.c 2009-05-18 18:18:13.000000000 +0200
4 @@ -489,10 +489,9 @@ local_clock(
6 * For the PLL the integration interval
7 * (numerator) is the minimum of the update
8 - * interval and poll interval. This allows
9 - * oversampling, but not undersampling.
10 + * interval and Allan intercept.
12 - etemp = min(mu, (u_long)ULOGTOD(sys_poll));
13 + etemp = min(mu, allan_xpt);
14 dtemp = 4 * CLOCK_PLL * ULOGTOD(sys_poll);
15 plladj = fp_offset * etemp / (dtemp * dtemp);
16 rstclock(S_SYNC, peer->epoch, fp_offset);
17 @@ -801,13 +805,10 @@ adj_host_clock(
20 * Implement the phase and frequency adjustments. The gain
21 - * factor (denominator) is not allowed to increase beyond the
22 - * Allan intercept. It doesn't make sense to average phase noise
23 - * beyond this point and it helps to damp residual offset at the
24 - * longer poll intervals.
25 + * factor (denominator) increases with poll interval, so is
26 + * dominated by the FLL above the Allan intercept.
28 - adjustment = clock_offset / (CLOCK_PLL * min(ULOGTOD(sys_poll),
30 + adjustment = clock_offset / (CLOCK_PLL * ULOGTOD(sys_poll));
31 clock_offset -= adjustment;
32 adj_systime(adjustment + drift_comp);
33 #endif /* LOCKCLOCK */