On Sun, Jul 26, 2020 at 10:29:53PM +0100, Russell King - ARM Linux admin wrote: > I have noticed that phc2sys can sometimes get confused and it needs > phc_ctl to reset the frequency back to zero for it to have another go. > The hardware is capable of a max_adj of S32_MAX, and I think that > allows phc2sys to get confused sometimes, so I probably need to clamp > my calculated max_adj to a sane limit. Is there an upper limit that > phc2sys expects?
The program uses the minumum of the PHC's max_adj and the max_frequency configuration value (whose default is 900000000). In general, huge frequency corrections are a sign that something is wrong. If your setup has sudden phase jumps (like ntpd resetting the clock), then you should consider allowing phc2sys to jump as well. For example, I use phc2sys -S 0.128 which allows phc2sys to jump when the offset is greater that 128 milliseconds. That value is chosen to match ntpd's threshold for jumping the time. HTH, Richard