Should the HAVE_KERNEL_PLL conditional be abolished?

Eric S. Raymond esr at
Sun Dec 3 22:17:40 UTC 2017

Hal Murray <hmurray at>:
> esr at said:
> > I'm aware.  There's a separate HAVE_KERNEL_PPS that conditionalizes the code
> > for the second case. 
> I can't find any references to HAVE_KERNEL_PPS
> I assume you mean HAVE_PPSAPI which is only referenced by refclocks

You're right.

> I screwed up.  There are actually 3 things tangled up here.
> First: capture pulse timing info.
> Second: adjust "drift" on system clock
> Third: in kernel PLL to adjust drift from PPS pulses
> You can't implement the PLL unless you have a drift to adjust and a way to 
> capture timing info from PPS pulses.
> A lot of what HAVE_KERNEL_PLL was doing was related to the second rather than 
> the third.

Yes, I got that.

One of the things that makes this whole area hard to understand is
that the separation (if any) among these three functions you've
described is pretty much entirely undocumented.  Nor are they clearly
distinguished from a fourth predicate, which is whether ntp_adjtime()
is present.  I have trouble keeping track of all the balls in the air.

It *is* clear enough that ntp_adjtime() is a prerequisite for any of the
above three things to go on.
		<a href="">Eric S. Raymond</a>

My work is funded by the Internet Civil Engineering Institute:
Please visit their site and donate: the civilization you save might be your own.

More information about the devel mailing list