Subject: 1:1 threading changes
To: None <>
From: Andrew Doran <>
List: current-users
Date: 01/16/2007 07:49:10

I have committed the remaining parts of the 1:1 threading mods that I have
been working on. Please let me know if I have managed to screw anything up,
or if you notice any problems. This shouldn't affect system behavour because
SA threads are the default.

I think (hope) I have fixed the remaining problems with it. It passes all
the regression tests, and the stress tests that I have tried. It seems to
run a variety of apps OK, e.g.: Firefox, Java and OpenOffice.

The main visible benefit to this is that on multiprocessor systems, runnable
threads will be distributed among all of the CPUs. If you are interested in
trying it out, the necessary steps are:

o Get latest -current from CVS.
o Edit lib/libpthread/Makefile, and comment out the 'PTHREAD_SA=1' line.
o Build and install the system (or just libc and libpthread if you prefer).
o Check out src/sys from the newlock2 branch, build and install a kernel.

As noted, unfortunatley it requires a kernel from the newlock2 branch. That
currently has a number of problems, including:

o Only i386, amd64 and sparc64 are tested. MIPS, alpha and sparc might work.
o Sporadic crashes have been seen on amd64.
o Attempting to use scheduler activiations will currently cause a panic.