From owner-freebsd-current Wed Nov 1 07:38:24 1995 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id HAA18772 for current-outgoing; Wed, 1 Nov 1995 07:38:24 -0800 Received: from zibbi.mikom.csir.co.za (zibbi.mikom.csir.co.za [146.64.24.58]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id HAA18765 for ; Wed, 1 Nov 1995 07:38:10 -0800 Received: (from jhay@localhost) by zibbi.mikom.csir.co.za (8.6.12/8.6.9) id RAA19641; Wed, 1 Nov 1995 17:33:13 +0200 From: John Hay Message-Id: <199511011533.RAA19641@zibbi.mikom.csir.co.za> Subject: Re: Time problems To: bde@zeta.org.au (Bruce Evans) Date: Wed, 1 Nov 1995 17:33:13 +0200 (SAT) Cc: wollman@lcs.mit.edu, current@FreeBSD.org In-Reply-To: <199511010903.UAA24620@godzilla.zeta.org.au> from "Bruce Evans" at Nov 1, 95 08:03:05 pm X-Mailer: ELM [version 2.4 PL23] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1824 Sender: owner-current@FreeBSD.org Precedence: bulk > > >OK, I changed the values in calibrate_cyclecounter() like suggested and now > >my time stay much closer to reality. > > >My CPU even probe as a 90MHz processor! > >> CPU: 90-MHz Pentium 735\\90 (Pentium-class CPU) > >> Origin = "GenuineIntel" Id = 0x525 Stepping=5 > >> Features=0x3bf > > >Can we get some kernel config option to do this or will I have to change > >clock.c after every ctm? Or will this get to be the default? > > No. Reducing the calibration time should just decrease the accuracy of > the calibration (and speed up the boot :-). Find out which clock is > inaccurate or which part of the calibration routine is buggy. Define > DELAYDEBUG to get some debugging code in clock.c. It currently > generates delays of powers of 10 usec up to 10 seconds. You could > increase the delats to 100, 1000, ... seconds and time them with a > stopwatch to see how accurate DELAY() is. > > Bruce > OK, I did that and the 10 second delay takes about 8.5 seconds and the 100 second delay takes about 88 seconds. Here is the first part of dmesg: CPU: DELAY(1)... 1 calls to getit() at -14 usec each DELAY(10)... 1 calls to getit() at -5 usec each DELAY(100)... 22 calls to getit() at 3 usec each DELAY(1000)... 261 calls to getit() at 3 usec each DELAY(10000)... 2648 calls to getit() at 3 usec each DELAY(100000)... 26511 calls to getit() at 3 usec each DELAY(1000000)... 238632 calls to getit() at 4 usec each DELAY(10000000)... 2351886 calls to getit() at 4 usec each DELAY(100000000)... 23667381 calls to getit() at 4 usec each 892492-MHz Pentium 735\\90 or 815\\100 (Pentium-class CPU) >From about 100000 the values that is being printed vary quite a lot between boots. Now how do I go further to find out where my problem is? John -- John Hay -- John.Hay@csir.co.za