Hide Forgot
xntpd support modifying the kernel tick and freq variables via a call to adjtimex. xntpd is compiled without the KERNEL_PLL variable set due to a bug in the configure script and therefore ends up calling adjtime which is translated by glibc into a call to adjtimex (0x8001,...) which tells the kernel to drift the time a certain direction instead of directly manipulating the kernel time variables as it does on other platforms. To verify this do "adjtimex --print" on a machine that has been running xntpd for several days and notice that the values for tick and freq are 10000 and 0 as they are at boot. Thanks, Doug
This bug report has little to do with reality: 1) xntpd *is* compiled with KERNEL_PLL defined in config.h. 2) strace indicates that adjtimex is *not* called with the the adjtime ADJ_OFFSET_SINGLESHOT (0x8001) through adjtimex in glibc. 3) Using adjtimex to show the value of tick returns 10000 always *exactly* as it should since tick is a constant set manually. The value of frequency is *not* zero. (All the above observed with xntp3-5.93-5 and adjtimex-1.3-3 on i386)
Okay, here is what I am seeing... # uname -a Linux doug 2.0.35 #1 Thu Jul 23 14:01:04 EDT 1998 i586 unknown # rpm -q xntp3 xntp3-5.93-4 I could not find the -5 package that you mentioned on any of the mirror ftp servers and *.redhat.com was too busy. Here is a line from strace, this is repeated every second: adjtimex({modes=32769, offset=0, freq=0, maxerror=16384000, esterror=16384000, status=64, constant=2, precision=1, tolerance=13107200, time={911806102, 679542}}) = 5 The modes are set to 0x8001 which according to "man 2 adjtimex" means #define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ so unless I have made some error, adjtimex is called with ADJ_OFFSET_SINGLESHOT. Also, I went ahead and grabbed the SRPM of the same package and did rpm -bc specfile and config.h still shows /* #undef KERNEL_PLL */ If a newer RPM is available, please tell me where I can find it. Thanks, Doug