Skip site navigation (1)Skip section navigation (2)
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>