[LinuxPPS] OT Nano in kernel.

clemens at dwf.com clemens at dwf.com
Tue Jul 29 19:47:23 CEST 2008


> I have similar results like Hal has: =
> http://remco.tk/ntp/helium-ntp-offset.png
> The clock will remain within +/- 1 usec when temperature and load are =
> stable.
> 
>   I do know that 2.6.26 seems to produce better results than 2.5.26-rc8 =
> but I don't know why. Since these use different LinuxPPS patches it =
> could be difference in the LinuxPPS code but it could also be something =
> in the kernel. With 2.6.26-rc8 my clock was not as stable as it had been =
> with 2.6.25 kernels (IE. microkernels) but 2.6.26 seems to lock onto the =
> clock better and I now have submicrosecond accuracy much of the time =
> when the machine is not loaded and room temperatures are stable. This is =
> on a fairly fast dual core machine. This is clearly better than with the =
> earlier microkernels which would drift +-5us most of the time under =
> similar conditions.
> 
Could you comment more on your results.
In particular, what are you plotting in the above *.png?

I plot both the difference between the timestamp and the current clock time, 
and
the 3rd column on the loopstats file, which claims to be clock_offset.
There are also numbers out there for RMS jitter and RMS wander which I havent
investigated.

In any case, my main machine is a 3.2GHz Pentium, and I have been seeing 
considerably more 'noise' than you report.  I have commented that I felt that 
I saw
less noise with the previous (Ulrich Windl) implementation than the current one
but 
     (a) dont have enough documentation of my older results to be sure.
     (b) cant understand how it could have been significantly better/different
           than the current one (other than his implementation of ns time).

With the above hardware, I see +4 to -10 us offsets in the loopstats file, and
a bit noise-er rendition in the timestamps of the clockstats file.

This is all with 2.6.26 and the NANO fix, which is why I recently asked if 
there
was something I needed to do to get the Linux clock to 'really' do nanosecond 
timing.  I 'remember' the times in the timestamps file being smooth at least
at the 100's of ns column with the Windl implementation, and Im not seeing
that with the current implementation.  I dont understand why.

As a cross check, I have been running ntpd (*p115) on FreeBSD 7, and see
similar results.  The machine there is only a 750MHz Pentium, so I expect to
see more 'grass' on the plot of the timestamps, but since ntp is the only thing
of any consequence runing, the overall plot is much smoother, but the 'grass'
is still in the 0- +10us range.

Confused by your/my results.

-- 
                                        Reg.Clemens
                                        reg at dwf.com





More information about the LinuxPPS mailing list