WARNING! HEAD may destabilize for a bit.
Matthew Dillon
dillon at apollo.backplane.com
Sat May 27 14:48:26 PDT 2006
I'm doing a huge amount of MP work and there's a very good chance that
I will destabilize HEAD with some of these commits.
HEAD may destabilize even with kern.syscall_mpsafe set to 0. If you
want to help test the MPSAFE code, then do:
sysctl kern.syscall_mpafe=1
Please keep in mind that the other two mpsafe sysctls should ALWAYS be
set to 0. They are *NOT* supposed to be safe yet.
kern.intr_mpsafe: 0 <--- ALWAYS LEAVE 0
kern.syscall_mpsafe: 1
kern.trap_mpsafe: 0 <--- ALWAYS LEAVE 0
I have pushed the MP lock all the way into the file pointer's fileops.
file descriptors, file pointers, and creds are now 100% MPSAFE.
Some major userland scheduler work is going to go in today or tomorrow.
I am making it MPSAFE (it currently needs the MP lock), and I am also
compartmentalizing it more and adding a dummy 'demonstration' scheduler
so people doing scheduler work have a working template to work with.
Note that until the new scheduler goes in, and possibly a few other
things are done, setting kern.syscall_mpsafe to 1 will actually REDUCE
performance due to increased MP lock contention. This is because a
lot of code still needs the MP lock and without the master syscall
code wrapping it with a reference we get a lot more acquisition/release
sequences.
-Matt
More information about the Kernel
mailing list