scheduler rewrite

Dave Leimbach leimySPAM2k at mac.com
Thu Dec 16 07:31:50 PST 2004


Matthew Dillon <dillon at xxxxxxxxxxxxxxxxxxxx> writes:


>     There have been discussions about the scheduler on this list in
>     the past.  Basically it is a two-stage job.  The first stage would
>     be to create an API to allow different userland schedulers to be
>     loaded on-the-fly (on a live system), and possibly even allow multiple
>     schedulers to operate in parallel.  This is possible because everything
>     winds up being scheduled by LWKT at the lowest level anyway.  That is,
>     the userland scheduler is only determining when user processes run and
>     on what cpu they run and is not actually responsible for the mechanics
>     of running the processes.

Sounds a bit like L4. :) L4 has its own API for thread scheduling as well and
Linux has been implemented as a thread [or colleciton of threads] in userspace
on top of it.  

Along with that is the ability to have each thread assign it's own pager 
thread.  This allows a recursive mapping design to keep things like L4 Linux
efficient on L4.

It's pretty neat stuff, tangentially related to DragonFly at best.  I mentioned
it as a sort of proof that some of these ideas do exist in the wilds outside
BSD and are pretty successful.


-- Dave





More information about the Kernel mailing list