DragonFly BSD
DragonFly kernel List (threaded) for 2004-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: scheduler rewrite

From: Dave Leimbach <leimySPAM2k@xxxxxxx>
Date: Thu, 16 Dec 2004 07:31:50 -0800
Cancel-lock: sha1:eprHLwWsLdXbWoJlLt4+U1Sk0X0=

Matthew Dillon <dillon@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

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]