• Alexander Gordeev's avatar
    ntp: add hardpps implementation · 025b40ab
    Alexander Gordeev authored
    This commit adds hardpps() implementation based upon the original one from
    the NTPv4 reference kernel code from David Mills.  However, it is highly
    optimized towards very fast syncronization and maximum stickness to PPS
    signal.  The typical error is less then a microsecond.
    
    To make it sync faster I had to throw away exponential phase filter so
    that the full phase offset is corrected immediately.  Then I also had to
    throw away median phase filter because it gives a bigger error itself if
    used without exponential filter.
    
    Maybe we will find an appropriate filtering scheme in the future but it's
    not necessary if the signal quality is ok.
    Signed-off-by: default avatarAlexander Gordeev <lasaine@lvk.cs.msu.su>
    Acked-by: default avatarJohn Stultz <johnstul@us.ibm.com>
    Cc: Rodolfo Giometti <giometti@enneenne.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    025b40ab
ntp.c 23.7 KB