Thanks! to Bill Sebok for posting that nifty perl script for doing the xntp
drift adjustment on Solaris2.[34] machines. I've tried it on a couple
of my Sol2.4 machines and it has brought the drift down to under 2 ppm.
Impressive!
Now a question: Does anybody have a version that works for Solaris2.5?
I tried it on a 2.5 machine. Even though adb reported successfully
patching the kernel, after a few hours the value in the drift file was
back where it had started from (almost 200, for this particular
machine!). Since the script had also patched /etc/system, I tried
resetting the value in the drift file to zero and rebooting the
machine. ADB reports that the nsec_per_tick in the rebooted kernel has
the correct value, but the drift is unchanged after a few hours running
(ie, not close to zero, as I expected to see, and as I do see on my
Sol2.4 machines.) It almost looks as if the Sol2.5 clock driver is
ignoring nsec_per_tick, or something...
Can anybody help?
Thanks!
Rick
--
In response to a private e-mail version of the above, Bill wrote back...
Quote:> That sounds like bad news. I don't have a Solaris 2.5 system to play
> with yet. I seem to remember reading somewhere (here or
> comp.unix.solaris) that nsec_per_tick had moved from the base kernel
> to some other kernel module. Since you saw it with adb would seem to
> say that it is still in the base kernel.Yet maybe the real
> nsec_per_tick (possibly with another name) is in another module with
> the old nsec_per_tick an inactive copy. I would search the namelists
> of the kernel files for suspicious variables. I would also post this
> question to comp.protocols.time.ntp and comp.unix.solaris in the hopes
> of flushing out a Sun person or anyone else who knows the answer. It
> also might help to include in the script a call to ntpdate to a known
> good server when xntpd is down to start the clock off with a known
> good value.
> Bill Sebok