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