Date: Fri, 06 Oct 2000 15:32:15 -0700 (PDT) From: John Baldwin <jhb@FreeBSD.org> To: (Valentin Nechayev) <netch@carrier.kiev.ua> Cc: freebsd-current@FreeBSD.org Subject: Re: microuptime() went backwards Message-ID: <XFMail.001006153215.jhb@FreeBSD.org> In-Reply-To: <200010062217.BGO31522@burka.carrier.kiev.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On 06-Oct-00 Valentin Nechayev wrote: > At Fri, 6 Oct 2000 22:00:23 +0000 (UTC), jhb wrote: > > JB> The problem was that the interrupt threads for the clk interrupt > introduced > JB> enough latency that occasionally (mostly during a heavy load of > interrupts) > 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? ;| Yes, I know. The problem didn't occur as badly on SMP systems as the clk ithread didn't suffer from as much latency in that case, but on UP systems it could be quite bad. I used to get it both during boot and when doing things like starting up X. > JB> clock interrupts not be threaded fixes this problem. > > Oh, well, I understand now that scheduling is nesessary to be run early > because interrupts are implemented as kernel threads even when kernel > is in phase of hardware detection.;( This is not done yet. It is something that is on the todo list though (to move SI_SUB_INIT_CLOCKS earlier, basically). > /netch -- John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ 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?XFMail.001006153215.jhb>