diff options
author | phk <phk@FreeBSD.org> | 1999-12-29 14:39:24 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1999-12-29 14:39:24 +0000 |
commit | c5dd6ef219371f7521eaa5ac57c56e2383736c0c (patch) | |
tree | 19e8d3b013336a56a3599d9192e5170c5d5f1218 /lib/libkse/thread/thr_create.c | |
parent | 021d498c3e9206f35ec11a35dec3154279cc158b (diff) | |
download | FreeBSD-src-c5dd6ef219371f7521eaa5ac57c56e2383736c0c.zip FreeBSD-src-c5dd6ef219371f7521eaa5ac57c56e2383736c0c.tar.gz |
Don't use time_offset as a leaky bucket variable in hardpps(), this
resulted in vastly optimistic offset values reported to userland
(typically a factor 40+ too small). Apart from that, the code had
two sign-bugs.
Apply the hardpps() phase with the right sign with a simply
scaling by integration interval. (This may be too stiff at
long integration intervals, see below).
Allow pps_shiftmax to be reduced again.
Before this, the phase lock in hardpps() were broken, but due to
two bugs mostly cancelling out, it would end up basically working
with a large stochastic component. Now it behaves as one would
expect: smooth and quiet.
It seems that pps_shiftmax above 7..9 somewhere makes the phaselock
too weak to hold onto random walk phase errors from a HP-105 OCXO,
which basically means that it is too weak for real-life use with
such integration times. This is yet to be resolved.
Submitted to: Prof. Dave "NTP" Mills.
Tested by: Terje Mathisen <Terje.Mathisen@hda.hydro.com>
Diffstat (limited to 'lib/libkse/thread/thr_create.c')
0 files changed, 0 insertions, 0 deletions