PPS documentation

Achim Gratz Stromeko at nexgo.de
Sun Feb 26 21:12:59 UTC 2017


Gary E. Miller writes:
> I do not see anything in that file I disagree with.  Can you be more
> specific on what you dislike in there?

It shouldn't mention a kernel driver that doesn't exist anymore.  PPS
API is now available in mainline and that code is from the LinuxPPS
project.

>> It should probably be mentioned that hardpps is not available even
>> with the PPS API present on most distributions since it is
>> incompatible with a tickless kernel, something that became standard
>> somewhere in the 3.x line of Linux kernels ca. 2012.
>
> Ah, no.  KPPS works better on kernels with a tick, but not incompatible
> with tickless.  And most tickless kernels distributed by distros have
> the option at boot time to change the tick configuration.  Certainly
> RasPian is that way.

When NO_HZ is configured, you cannot configure CONFIG_NTP_PPS (I haven't
looked at the code in the 4.x line, but in earlier versions it wouldn't
have worked anyway since it tied into the the tick handler, which simply
isn't run periodically on tickless kernels and may not even exist
anymore on the newer kernel versions unless you configure it to have no
dynticks, aka CONFIG_HZ_PERIODIC).

http://cateee.net/lkddb/web-lkddb/NTP_PPS.html
https://support.ntp.org/bin/view/Sandbox/HowtoPpsOnRaspberryPi
http://paul.chavent.free.fr/pps.html
https://www.kernel.org/doc/Documentation/timers/NO_HZ.txt

The boot options just change the defaults, not the fact that the kernel
is configured with NO_HZ.

> Can you be more specific on a kernel that does not work?

Feb 26 21:53:26 raspberrypi2 ntpd[20604]: refclock_params: kernel PLL (hardpps, RFC 1589) not implemented
Feb 26 21:53:26 raspberrypi2 ntpd[20604]: NMEA(1) set PPSAPI params fails
$ uname -a
Linux raspberrypi2 4.4.49-v7+ #968 SMP Fri Feb 17 14:22:28 GMT 2017 armv7l GNU/Linux

AFter that ntpd then falls back to non-kernel discipline.

> I'm not even sure how much better going 1kHz tick is than the other options.
> I'll run some tests.

Actually, the tick is set to 10kHz:

$ ntpfrob -A
tick = 10000

But the kernel is configured with dyntick / NO_HZ.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Waldorf MIDI Implementation & additional documentation:
http://Synth.Stromeko.net/Downloads.html#WaldorfDocs



More information about the devel mailing list