Scheduler Activations are a new way to handle multithreading. It has been proposed first in 1991 by Anderson and al. This new design allows the kernel to tell the application about scheduling events. One interesting thing is that the user thread scheduler is able to take better scheduling decision and to not block when a user thread makes a blocking system call.



You can look at my publications.

Here is the original paper from Anderson and al. Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism.

The FreeBSD KSE Project seems to have recently introduced the activations in the FreeBSD kernel.

Needed software

The multithreaded environment with a thread library (Marcel) using the activations
FKT patch:
Fast Kernel Tracing allows kernel developers to obtain a precise, time-stamped trace of the dynamic activities of kernel code. It's developped by R.D. Russel. It's not really needed for the activations, but the patch offered here applies above the fkt patch (you can find it in the download section).
Activation patch:
The patches apply to 2.4.X-acY kernels (Alan Cox tree). However, it generaly can easily be ported to the Linux tree or to another minor version. I let older versions, but newer are more up-to-date (ie with fewer bugs).