Date: Wed, 23 Apr 1997 20:35:05 -0700 (PDT) From: Steve Passe <fsmp@FreeBSD.org> To: freebsd-smp@FreeBSD.org Subject: cvs commit: sys/i386/i386 mp_machdep.c sys/i386/include smptests.h sys/i386/isa vector.s Message-ID: <199704240335.UAA12478@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
fsmp 97/04/23 20:35:05 Modified: i386/i386 mp_machdep.c i386/include smptests.h i386/isa vector.s Log: A bolder attempt to cure the apicIPI / SMP_INVLTLB deadlock: Xfastipi32, new inline function in vector.s Xfastipi32 is registered directly via setidt() at vector ICU+32, ie. in a APIC bucket of higher priority than the other INTs. This means that apicIPI shouldn't block for lack of buffer space. Note that for the first cut register_intr(), etc. are skipped. This can be restored later once the concept is proven. Because of the masking etc. that breaks when we go beyond the 32nd bit position I skipped that for now... Xfastipi32 DOES NOT get the mplock, it flushes the TLB, EOIs the APIC, irets. If anyone sees a potenrtial problem here please speak up. To enable uncomment "#define XFAST_IPI32" in i386/include/smptests.h. Revision Changes Path 1.41 +18 -1 sys/i386/i386/mp_machdep.c 1.10 +7 -1 sys/i386/include/smptests.h 1.40 +25 -0 sys/i386/isa/vector.s
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704240335.UAA12478>