[gsoc] Multi-queue scheduler - Week 2

23 views
Skip to first unread message

Jessica Yu

unread,
May 30, 2014, 8:43:15 PM5/30/14
to plan9...@googlegroups.com
Hello, just some status updates:

1) The scheduler seems to be working with the per-mach run queues now.

2) fork balancing is done for newly created processes. At the moment
this simply compares m->loads of all maches; it'll improved later to make
this process more efficient.
(Note: Perhaps it would be more helpful to balance during an *exec* instead
of a fork?)

Example of fork balancing:

redbean# {while()}&    -- say pid of this background job is 156
redbean# cat /proc/156/mp  -- note, I added mp proc entries to say
which mach it last run on
3
redbean# {while()}&    -- launch another rc job, pid 157
redbean# cat /proc/157/mp
2
redbean# {while()}%   -- launch yet another rc job, pid 158
redbean# cat /proc/158/mp
1

3) Misc updates: steal code is gone, runproc is slightly simpler (no
redundant calls to dequeueproc, just do it in one go if possible)

Next up: I'll be refining the load balancing scheme with my mentor.
Reply all
Reply to author
Forward
0 new messages