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