Date: Sat, 7 Oct 2000 17:22:33 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Valentin Nechayev <netch@carrier.kiev.ua> Cc: John Baldwin <jhb@FreeBSD.ORG>, freebsd-current@FreeBSD.ORG Subject: Re: microuptime() went backwards Message-ID: <Pine.BSF.4.21.0010071714110.4565-100000@besplex.bde.org> In-Reply-To: <200010062217.BGO31522@burka.carrier.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0010071714110.4565-100000>