__proc_give_cores() can be called multiple times
authorBarret Rhoden <brho@cs.berkeley.edu>
Sat, 25 Feb 2012 01:14:26 +0000 (17:14 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 28 Feb 2012 01:53:31 +0000 (17:53 -0800)
commit7b57023e949bf0cdb856d16f8f43444c3a1428f1
treea42861e825e2ca34721d2e596b143b6412ea720c
parent042a13016eebb3c1aace85198b83a73cc2e42d68
__proc_give_cores() can be called multiple times

Once you're done giving cores, call __proc_run_m() to actually start it
up.  This patch moves the sending of the bulk preempt list events to
right before we run, so that you can give out small groups of cores
without having to run after each handout.  Check out core_request() for
an example.

This also moves the running of _Ms out of the ksched, though
core_request() is pretty close to the ksched anyway.  Regardless,
schedulers no longer need to track the difference between a RUNNABLE_M
and a RUNNING_M.
kern/src/process.c
kern/src/resource.c
kern/src/schedule.c