Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uwm.edu!wuarchive!usc!elroy.jpl.nasa.gov!decwrl!pa.dec.com!mogul From: mogul@wrl.dec.com (Jeffrey Mogul) Newsgroups: comp.protocols.time.ntp Subject: Re: clock resolutions etc.. Message-ID: <1991Jan15.020110.25941@pa.dec.com> Date: 15 Jan 91 02:01:10 GMT References: <9101112100.AA22695@snook.ecs.umass.edu> Sender: news@pa.dec.com (News) Distribution: inet Organization: DEC Western Research Lines: 45 In article <9101112100.AA22695@snook.ecs.umass.edu> rayaprol@umvlsi.ecs.umass.edu writes: >I was going throught the man pages for adjtime(2) on DECStation 5000 >and found that the resolution on MIPS is 3.906ms and that on VAX is >10ms. The man page also goes on saying that the ticks of 9ms or 11ms >are used depending on the adjustment to be made. This only makes sense >for a VAX machine. Could anyone tell me what the rate of adjustment is >for a MIPS machine? I think this part of the manual page is confused. Basically, once per clock interrupt the time variable is updated (ignoring roundoff error) if (TotalDelta != 0) { time += (1/HZ) + delta; TotalDelta -= delta; } else time += 1/HZ; The adjtime(2) call sets TotalDelta to the amount of correction that you ask for, and sets delta like this if (TotalDelta > bigadj) delta = 10 * tickadj; else delta = tickadj; and then rounds TotalDelta to an exact multiple of delta. So, the interesting parameters are the kernel globals bigadj (defaults to 1 second) and tickadj to 4000/hz == 15 (for RISC) or 1 (for Vax). I really don't know why the RISC and Vax versions are different; the consensus of the NTP community is that "1" is the right value, but 15 seems to work pretty well. (On older Vax/Ultrix systems, tickadj seems to be 4000/hz == 40, as well.) To answer your question, then: System Default increment Fast increment Slow increment RISC 3906 uSec 3921 uSec 3891 uSec VAX 10000 uSec 10001 uSec 9999 uSec assuming that the total adjustment requested is under 1 second (which is always the case with ntpd). -Jeff