Date: Fri, 06 Dec 1996 10:57:25 -0700 From: Steve Passe <smp@csn.net> To: Erich Boleyn <erich@uruk.org> Cc: Peter Wemm <peter@spinner.dialix.com>, smp@freebsd.org Subject: Re: P6 and FreeBSD/SMP (was -> Re: last major problem) Message-ID: <199612061757.KAA20991@clem.systemsix.com> In-Reply-To: Your message of "Fri, 06 Dec 1996 08:30:17 PST." <E0vW3AH-0007kq-00@uruk.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, >This leads me to believe that the problem is in the MP handling, not the >base APIC_IO stuff. Maybe this is a good time to tell some of us what >is different when activating the other CPUs as far as APIC control? nothing really, when an AP starts it: enables LVT2 an NMI clears and sets its Task Priority Register to 0x10 enables its local APIC with 'focus prio' enabled. the BSP has been running with the same state since boot. it is managed 'assumming' there are other CPUs available, specifically: the IO APIC is sending messages in broadcast loprio mode, even though only the BSP is around to respond. when a CPU gets the mp_lock it lowers its TPR to 0x00, hoping to steer INTs to itself. I am assumming this works when the CPU has the lock for a syscall, but obviously won't help when it is servicing an INT as its PPR will override (but thats another issue). one difference is that when smp_active == 0, the get/rel lock calls return immediately so there is no adjustment of the TPR, but I cant concoct any scenario where that hurts anything. -- Steve Passe | powered by smp@csn.net | FreeBSD -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.2 mQCNAzHe7tEAAAEEAM274wAEEdP+grIrV6UtBt54FB5ufifFRA5ujzflrvlF8aoE 04it5BsUPFi3jJLfvOQeydbegexspPXL6kUejYt2OeptHuroIVW5+y2M2naTwqtX WVGeBP6s2q/fPPAS+g+sNZCpVBTbuinKa/C4Q6HJ++M9AyzIq5EuvO0a8Rr9AAUR tBlTdGV2ZSBQYXNzZSA8c21wQGNzbi5uZXQ+ =ds99 -----END PGP PUBLIC KEY BLOCK-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199612061757.KAA20991>