Date: Fri, 31 Aug 2001 01:01:04 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Martin Blapp <mb@imp.ch> Cc: <bkarp@icsi.berkeley.edu>, <kpielorz@tdx.co.uk>, <sthaug@nethelp.no>, <atrn@zeta.org.au>, <roberto@eurocontrol.fr>, <drussell@saturn-tech.com>, <phk@FreeBSD.ORG>, <Patrick.Guelat@imp.ch>, <freebsd-hackers@FreeBSD.ORG>, <freebsd-smp@FreeBSD.ORG> Subject: Re: Clock speedup on 4.X FreeBSD SMP and serverworks chipset Message-ID: <20010831001909.W2482-100000@besplex.bde.org> In-Reply-To: <20010830133205.N676-100000@levais.imp.ch>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 30 Aug 2001, Martin Blapp wrote: > Searching the freebsd mailinglists I have seen that you also suffering > under this problem on 4.X. STABLE: I now remember your old mail about this. I (implicitly) suggested a fix, but apparently no one tried it: > On Thu, 21 Jun 2001, Martin Blapp wrote: > > > Just gettimeofday() produces 8sec time drifting now. No need > > to use poll() in our little programm I sent previously. > > > > There is no time drifting if we used a 100% load programm with > > just poll(). > > > > Very strange. Do you have some idea ? > > From clock.c in -current: > > | #ifdef APIC_IO > | #define lapic_irr1 ((volatile u_int *)&lapic)[0x210 / 4] /* XXX XXX */ > | /* XXX this assumes that apic_8254_intr is < 24. */ > | (lapic_irr1 & (1 << apic_8254_intr)))) > | #else > | (inb(IO_ICU1) & 1))) > | #endif > > Maybe apic_8254_intr is not < 24. I think the second XXX comment has > rotted in -current, but it still applies in RELENG_4. I now think apic_8254_intr can't be >= 24 (>= 32 in -current), but "8254 is routed via 8259 and IOAPIC #0 intpin 0" in your probe messages says that the relevant status bit is in lapic_irr0, not in lapic_irr1. Try changing the 0x210 to 0x200. Bruce 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?20010831001909.W2482-100000>