On Sun, Jun 22, 2014 at 5:40 PM, erik quanstrom <[email protected]> wrote:
> On Sat Jun 21 21:47:37 EDT 2014, [email protected] wrote:
>> +1 what Yoann said. :-) On SMP systems, all maches share a global run
>> queue, and maches tend to try grabbing procs that have run on it
>> before (affinity). Take a look at port/proc.c in particular, where a
>> lot of the scheduling logic is implemented.
>
> the (base) plan 9 scheduler uses a global priority based round robin
> scheduler.  priority is absolute; a process of priority n+1
> will always run before a process of priority n.  processes within
> a priority are run in round-robin fashion.  recent cpu usage lowers
> a processes' priority.  there is soft affinity that tends to rerun a
> process on the same cpu when practical, though this mechanism is
> too hard inthe standard distribution. there is hard affinity; one can
> wire a proc to a mach.
>
> a key detail of the scheduler is the set of priorities with runnable
> processes is kept in a bitvector named "runvec".  significantly less
> than 32 priorities are used.
>
> there is also an edf scheduler.  i can't find the iwp9 paper atm.

Is it this one?

"Lightweight EDF Scheduling with Deadline
Inheritance" by Jansen, S.J.Mullender et al.
<http://doc.utwente.nl/41399/1/000000c6.pdf>

Reply via email to