• Eric S. Raymond's avatar
    Change ntp_set_tod() to take a timespec, increasing time-setting precision. · 6f50c5cf
    Eric S. Raymond authored
    This is potentially a big deal for platforms with a POSIX-conformant
    clock_settime(2) that takes a timespec.  Before, when a time step
    was calculated, it was always rounded to microseconds to be passed to
    settimeofday(2).  Now, precision down to nanoseconds is passed through
    ntp_set_tod() to be used by clock_settime(2) if the platform has it,
    for a potential gain of up to 10**3 in stepping accuracy.
    
    Today few time sources actually deliver with that accuracy, but it is
    reasonable to expect lesser gains to the exact extent that
    clock_gettime(2) and primary time sources are capable of delivering
    sub-microsecond accuracy - in particular for GPSDOs, which often
    deliver in the 100ns range, and dedicated time receivers which may
    reach 50ns accuracy.
    
    We may thus expect an order of magnitude or more accuracy improvement
    from this change with real hardware.
    6f50c5cf
machines.c 2.74 KB