Ksched allocates provisioned cores
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 1 May 2012 22:47:34 +0000 (15:47 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 5 Sep 2012 21:43:57 +0000 (14:43 -0700)
commit1de8b3451fc4e2bcde588a3fe18d14cd55bbc50b
treecf86231ca13bac3fca7bc530b9a6a4fef0ccae59
parent80f4051d9b43363d1f085f72b528ef5d5bf4d4fe
Ksched allocates provisioned cores

When servicing a proc (via the ksched's linear scan of all MCPs or via a
poke_ksched()), the ksched will preempt cores provisioned to a process
that are allocated to another process.

We also do a somewhat-ghetto trick when the ksched is attempting to
preempt a core, but is racing with that proc yielding the core.  We
short-circuit put_idle, since the ksched noticed the core is not
allocated before proc code told the ksched.
kern/include/schedule.h
kern/src/process.c
kern/src/schedule.c