[ntp:questions] Re: do_clock_gettime resulting in Linux crash?

Tim Shoppa shoppa at trailing-edge.com
Thu Jan 29 13:20:05 UTC 2004


John Ackermann N8UR <jra at febo.com> wrote in message news:<mailman.37.1074445063.1757.questions at ntp.org>...
> Hi --
> 
> I don't know if this is a bug, or if it is, where it lives, but my 
> ntp-4.2.0/Linux-2.4.21/PPSkit-2.1.2 machine is crashing after three or four 
> hours of operation in PPS mode.
> 
> I'm using an HP Z3801A clock with the hpgps driver modified only to handle 
> the different serial port params (19200, O71).  The system starts normally 
> and ntp brings up the GPS and PPS interfaces with kernel discipline 
> apparently working just fine.  Then the machine hangs, with a screenfull 
> (or more) of:
> 
> do_clock_gettime: negative time warp on CPU#0: -467348901ns (0,9787444)   # 
> the numbers vary
> 
> followed by:
> 
> unable to handle kernel paging request at virtual address 0004600C
> 
> This has happened twice in the last 12 hours.  A virtually identical 
> hardware setup, also running ntp 4.2.0 with the same configuration, but 
> using FreeBSD 4.9 instead of Linux, has not suffered from this problem.

I am using my own patched NTPD 4.2.0 with my Z3801A, with Linux kernel 2.4.24
with my PPS patch, and have not had this problem.

Of course, our patches are probably not identical, and indeed there is
no official PPS support for linux 2.4.24 yet as far as I can tell, but the
trivial application of the 2.4.21 patch to the 2.4.24 kernel worked for me.

The only gotcha I might see is that the (approx) twenty microsecond
pulse out of the back of the Z3801A does not reliably trigger my serial
port's DCD interrupt every time, so I stretch it with a one-shot.  Dropping
PPS pulses never seemed to adversely affect the nanokernel filtering
in my brief experimentation with short DCD pulses.

Tim.



More information about the questions mailing list