Date: Fri, 31 Aug 2001 12:48:12 -0700 (PDT) From: Julian Elischer <julian@elischer.org> To: Tor.Egge@fast.no Cc: jhb@FreeBSD.org, freebsd-smp@FreeBSD.org, freebsd-hackers@FreeBSD.org, Patrick.Guelat@imp.ch, phk@FreeBSD.org, drussell@saturn-tech.com, roberto@eurocontrol.fr, atrn@zeta.org.au, sthaug@nethelp.no, kpielorz@tdx.co.uk, bkarp@icsi.berkeley.edu, bde@zeta.org.au, mb@imp.ch Subject: Re: Clock speedup on 4.X FreeBSD SMP and serverworks chipset Message-ID: <Pine.BSF.4.21.0108311245460.96645-100000@InterJet.elischer.org> In-Reply-To: <200108311915.VAA34938@midten.fast.no>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 31 Aug 2001 Tor.Egge@fast.no wrote: > > > Hmm, does -current even need clkintr_pending anymore? What is its purpose? > > There is a problem if i8254_get_timecount locks clock_lock right > before a rollover but reads the timer right afterwards. In that case, > a too low value can be returned (resulting in 1/Hz too small time > value) although the result will still be monotonous. hmm monotonus? That explains the sudden bursts of sleepiness I occasionally get when seated in front of the terminal! (monatomicly increasing maybe?) Not meant to be a slight on your english, which is excellent, but just too funny to pass up. > > For RELENG_4, which uses Xintr0, this problem is reduced by adding the > clkintr_pending variable (cf. revision 1.134 of clock.c and revision > 1.38 of apic_vector.s) > > Looking more at the code, I now see that clkintr_pending is never set > in -current due to Xintr0 not being used (Xfastintr0 is now used). > Using a fast interrupt for the clock interrupt gives some of the same > reduction of the race window size as the use of clkintr_pending. > > - Tor Egge > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-smp" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" 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.0108311245460.96645-100000>