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