[LinuxPPS] Recommendation / Re: Stats & architectures
clemens at dwf.com
clemens at dwf.com
Thu Mar 13 18:54:49 CET 2008
> Rodolfo Giometti wrote:
> > I suppose you shouldn't need to much efforts in getting the HARDPPS
> > support from Ulrich Windl's code and move it into LinuxPPS.
>
> What benefit(s) does HARDPPS support bring?
>
Well, you would expect that having the kernel itself detect the time
differences
from its clock to the pps signal would result in a 'tighter' control of the
clock
than the ntpd (userspace) code doing this and then passing this information to
the kernel using the adjtime system call.
With a clock with (only) microsecond resolution, and an adjtime system call
with only microsecond resolution one has to expect that the clock frequency/
phase is zig-zagging around the 'correct' value a lot more than if these were
both configured in nanoseconds. The HARDPPS support would put the entire
ntp calculation in the kernel, thus at least the adjtime system call is no
longer
relevant.
However, there is the following comment at the end of the "The Nanokernel"
paper by Mills and Kamp:
While the current minimum daemon update interval is currently limited to
16s in the interest of minimizing kernel overhead, it might be acceptable
in
fast machines to reduce that interval to 1s. Should this be done, it
would be
practical to do almost all discipline loop processing in user space and
move
the per-second processing to the daemon, where more flexible processor and
memory resource commitments are possible.
I read that to say that with the fast machines we have today, that HARDPPS
is less useful than it used to be. That a minor modification to ntpd would
allow
the same time resolution using the usertime ntpd calculation, and minimal
kernel modification. This would PROBABLY require a nanosecond clock
(and timecounters or whatever) and a nanosecond adjtime, but I think that
would be a good modification what with the current machine speeds.
Hope that helps.
--
Reg.Clemens
reg at dwf.com
More information about the LinuxPPS
mailing list