What does --disable-kernel-PLL do?

Eric S. Raymond esr at thyrsus.com
Mon Apr 24 15:26:35 UTC 2017


Responding to very old mail, from December...

Hal Murray <hmurray at megapathdsl.net>:
> 
> > Here's the inside view from looking at the code: --disable-kernel-PLL turns
> > off the use of ntp_adjtime() to slew time, leaving adjustments to be done at
> > much coarser granularity by the old-style adjtime(2) call. 
> 
> How about we rename it to --disable-ntp_adjtime?

I'm with you in spirit, but if we create an option name that mixes dashes
and underscores we'll be cursed forever because nobody will be able to remember
which way to type it for longer than three seconds after looking at the docs.

If --disable-adjtime is acceptable to you, I'm good with that.  You
can either do it yourself or file an RFE assigned to the build recipe
owner (which is Matt).

> I assume we will get the same effect if ntp_adjtime is not defined in the 
> headers.

Yes.

> I stumbled into one case where it is actually interesting.  NetBSD on 
> Raspberry Pi has ntp_adjtime in the headers but it's not implemented in the 
> kernel.  So a default build of our code crashes.

Bletch.  Well, that answers the question of why we need to keep the option
at all.  If this is still a problem with current NetBSD, please add a note
to INSTALL about it.
 
> >> There is a tangle in this area that I don't understand.  When ntpd
> >> exits (or crashes), it leaves the previous state in the kernel so anybody
> >> running  ntptime will think things are fine.
> 
> > What previous state?
> 
> The state in the kernel when ntpd last called ntp_adjtime.  The kernel 
> doesn't know that ntpd is steering time so it can't tell that a 
> stopped/crashed ntpd won't make another call in the future.
> 
> 
> [Kernel bug - not returning STA_NANO when status is UNSYNC.]
> > Yes, and it makes a fix difficult.  Do you have any recommended action?
> 
> Just add a comment to that area.  It's probably worth nuking the first time 
> setup call just to simplify things.  The first call will run in micro mode.  
> That will update the nano flag so the second call will work as expected.

Please do that.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>

Please consider contributing to my Patreon page at https://www.patreon.com/esr
so I can keep the invisible wheels of the Internet turning. Give generously -
the civilization you save might be your own.



More information about the devel mailing list