From owner-freebsd-smp Thu Jul 17 00:58:42 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id AAA13267 for smp-outgoing; Thu, 17 Jul 1997 00:58:42 -0700 (PDT) Received: from spinner.dialix.com.au (spinner.dialix.com.au [192.203.228.67]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id AAA13248 for ; Thu, 17 Jul 1997 00:58:31 -0700 (PDT) Received: from spinner.dialix.com.au (localhost.dialix.com.au [127.0.0.1]) by spinner.dialix.com.au with ESMTP id PAA25690; Thu, 17 Jul 1997 15:57:59 +0800 (WST) Message-Id: <199707170757.PAA25690@spinner.dialix.com.au> X-Mailer: exmh version 2.0delta 6/3/97 To: vanmaren@fast.cs.utah.edu (Kevin Van Maren) cc: smp@FreeBSD.ORG, smp@csn.net Subject: Re: HEADS UP: EISA cards. In-reply-to: Your message of "Wed, 16 Jul 1997 09:16:35 CST." <199707161516.JAA02892@fast.cs.utah.edu> Date: Thu, 17 Jul 1997 15:57:59 +0800 From: Peter Wemm Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Kevin Van Maren wrote: > Okay, I'll bite. > > First off, I think that you DO want to abandon the 8254 timer > under SMP. The APIC's internal timer is much nicer. Not necessarily. The 8254 timer has the advantage that it's global, and is calibrated at boot. The APIC timers are per cpu and are (apparently) implemented as memory bus devices on the silicon, so it's just the same as an off-chip non-cacheable access (hence the elimination of accesses to the APIC_ID register after boot). The APIC timer is currently used for timing the IPI state sequences, and appears to be ideally suited for the precise timing that it needs. We can't easily use the single APIC timer for IPI timing *and* the system clock at the same time. It might be nice to build a precision event system around it at some later point (can you say, high resolution realtime sleeps, select sleeps, etc), and use the elapsed time of the IPI interval in the "time to next event" arithmatic etc, but we've got bigger things to worry about until then. Cheers, -Peter