[PATCH 0/5] Fix ntpd to not poll frequently

Denys Vlasenko vda.linux at googlemail.com
Sun Oct 5 01:12:33 UTC 2014


On Wednesday 01 October 2014 14:18, Miroslav Lichvar wrote:
> On Wed, Oct 01, 2014 at 12:57:17AM +0200, Denys Vlasenko wrote:
> > I am looking at patch #5 again. Can you talk me through it?
> > 
> > @@ -1470,6 +1466,14 @@ update_local_clock(peer_t *p)
> > 
> >         } else { /* abs_offset <= STEP_THRESHOLD */
> > 
> > +               /* This is calculated before the jitter is updated to make the
> > +                * poll adjust code more sensitive to large offsets.
> > +                */
> > +               if (G.discipline_jitter > 0.0)
> > +                       G.offset_to_jitter_ratio = abs_offset /
> > G.discipline_jitter;
> > +               else
> > +                       G.offset_to_jitter_ratio = 1.0;
> > +
> >                 /* Compute the clock jitter as the RMS of exponentially
> >                  * weighted offset differences. Used by the poll adjust code.
> >                  */
> > @@ -1554,7 +1558,6 @@ update_local_clock(peer_t *p)
> > 
> >         if (G.discipline_jitter < G_precision_sec)
> >                 G.discipline_jitter = G_precision_sec;
> > -       G.offset_to_jitter_ratio = abs_offset / G.discipline_jitter;
> > 
> >         G.reftime = G.cur_time;
> >         G.ntp_status = p->lastpkt_status;
> > 
> > What does this part achieve? Why is it better this way?
> 
> The offset/jitter ratio is calculated before jitter is updated with
> the new (possibly large) offset to make the test which adjusts the
> poll more sensitive. Without this change it didn't work well in my
> testing, it was pretty much always going up.


Applied to git, thanks! Can you try current git? 


More information about the busybox mailing list