Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Apr 1997 22:30:47 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        cvs-all@FreeBSD.org, CVS-committers@FreeBSD.org, cvs-etc@FreeBSD.org, jkh@FreeBSD.org
Subject:   Re: cvs commit:  src/etc rc rc.network
Message-ID:  <199704271230.WAA07923@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>  Branch:      etc       RELENG_2_2
>  Modified:    etc       rc rc.network
>  Log:
>  tickadj is useful even if ntpdate isn't selected (clock drift isn't
>  isolated to network time users) so make it a fully independant knob.
>  Suggested-By: Richard Crook <richard@sj.co.uk>

tickadj is not useful:

BUGS
       Fiddling  with  kernel  variables at run time as a part of
       ordinary operations is a hideous practice  which  is  only
       necessary  to  make up for deficiencies in the implementa-
       tion of adjtime(8) in many kernels  and/or  brokenness  of
                       ^ bug, should be 2
       the  system  clock  in some vendors' kernels.  It would be
       much better if the kernels were fixed and the tickadj pro-
       gram went away.

Since FreeBSD's adjtime(2) doesn't have these deficiencies, there is no
need for tickadj.

In FreeBSD-2.2, you can also fine tune the system clock using `sysctl
-w machdep.i8254_freq=whatever'.  This sets the nominal frequency to
match the actual frequency (the actual frequency can be inferred from
the drift).  It has much the same effect as using tickadj to modify
`tick' except it is free from certain undesirable side effects of
modifying `tick'.  Resolution is limited to +-0.5 usec per tick for
the same reasons as it is limited for the tickadj method (this will
be fixed someday), so you still need to use adjtime(8) or xntpd(8)
for fine control.  adjtime(8) isn't standard in FreeBSD.  I recommend
using xntpd with the kernel PLL even on systems not connected to networks.

In-FreeBSD-2.2, you can also use the option CLK_USE_I8254_CALIBRATION
to attempt to initialize the nominal i8254 frequency better, or you
can boot with -v and note the frequency and set it later using sysctl.
The frequency is calibrated relative to the RTC which may be more
accurate.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704271230.WAA07923>