Date: Sun, 31 Dec 1995 16:03:21 +1100 From: Bruce Evans <bde@zeta.org.au> To: freebsd-current@freebsd.org, peter@haywire.dialix.com Subject: Re: Tick, tock, adjust the clock Message-ID: <199512310503.QAA17446@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>Well, I've found an answer that totally cures it for us.. I increased >the 'tickadj' rate from 5us to 40us.. ie: tickadj -a 40 >pwroot@gecko2[3:35am]~-101# tickadj >tick = 10000 us, tickadj = 40 us >calculated hz = 100.00 Hz >recommended value of tickadj = 5 us >And after a few days of running, behold! It has locked in! >... >The question is.. what have I done? :-) Have I simply made the kernel >respond to adjtime() faster? I think you just made it possible for adjtime() to work. One of my clocks has a drift of about 7 parts in 10000, so a tickadj of 5 couldn't possibly work for it. tickadj = 40 was the default in FreeBSD-1.1.5. The `recommended' value above is based on 5 being the largest reasonable amount of drift for a `tick' of 10000 (except on RS6000's, which apparently live in a universe with different universal constants :-). I still think the best fix involves changing TIMER_FREQUENCY. There is no official mechanism for doing this, but it can be fiddled with fairly easily: - write a slightly different value to timer_0_max_count in /dev/kmem - access pcaudio to get the new value written to the clock hardware. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512310503.QAA17446>