From owner-freebsd-current Fri Oct 6 23:22:46 2000 Delivered-To: freebsd-current@freebsd.org Received: from gidora.zeta.org.au (gidora.zeta.org.au [203.26.10.25]) by hub.freebsd.org (Postfix) with SMTP id D70C537B502 for ; Fri, 6 Oct 2000 23:22:42 -0700 (PDT) Received: (qmail 24657 invoked from network); 7 Oct 2000 06:22:38 -0000 Received: from unknown (HELO bde.zeta.org.au) (203.2.228.102) by gidora.zeta.org.au with SMTP; 7 Oct 2000 06:22:38 -0000 Date: Sat, 7 Oct 2000 17:22:33 +1100 (EST) From: Bruce Evans X-Sender: bde@besplex.bde.org To: Valentin Nechayev Cc: John Baldwin , freebsd-current@FreeBSD.ORG Subject: Re: microuptime() went backwards In-Reply-To: <200010062217.BGO31522@burka.carrier.kiev.ua> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sat, 7 Oct 2000, Valentin Nechayev wrote: > At Fri, 6 Oct 2000 22:00:23 +0000 (UTC), jhb wrote: > JB> tc_windup() wasn't called soon enough to update the timecounter. Making > > On my system _each_ boot causes hundreds of these messages. > And as described, long offsets without updating are caused by some > code in drivers, i.e. DELAY(1000000) in isa/fd.c. Is it nesessary to call > tc_windup() between iterations in isa_configure? ;| Not really. The timecounters overflow to bizarre values if the boot takes a long time (more than about 4 seconds), but there is no problem unless something looks at the time before tc_windup() is working and expects the time to be monotonic. Previously mi_switch() looked at the time before tc_windup() was called, and this was impossible to avoid because getting to tc_windup() involved a context switch. Now the misbehaviour should only be visible using a debugger or debugging code that prints the time. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message