cvs commit: src/sys/i386/i386 mp_machdep.c mplock.s swtch.s src/sys/i386/isa apic_vector.s ipl.s src/sys/kern kern_intr.c lwkt_thread.c

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Sep 25 16:49:37 PDT 2003


dillon      2003/09/25 16:49:09 PDT

  Modified files:
    sys/i386/i386        mp_machdep.c mplock.s swtch.s 
    sys/i386/isa         apic_vector.s ipl.s 
    sys/kern             kern_intr.c lwkt_thread.c 
  Log:
  Fix a number of mp_lock issues.  I had outsmarted myself trying to deal with
  td->td_mpcount / mp_lock races.  The new rule is: you first modify
  td->td_mpcount, then you deal with mp_lock assuming that an interrupt might
  have already dealt with it for you, and various other pieces of code
  deal with the race if an interrupt occurs in the middle of the above two
  data accesses.
  
  Revision  Changes    Path
  1.17      +3 -2      src/sys/i386/i386/mp_machdep.c
  1.10      +125 -68   src/sys/i386/i386/mplock.s
  1.28      +12 -0     src/sys/i386/i386/swtch.s
  1.14      +4 -2      src/sys/i386/isa/apic_vector.s
  1.13      +3 -0      src/sys/i386/isa/ipl.s
  1.12      +1 -1      src/sys/kern/kern_intr.c
  1.31      +19 -13    src/sys/kern/lwkt_thread.c






More information about the Commits mailing list