Ksched tracks MCPs for their entire lifetime
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 28 Feb 2012 21:23:41 +0000 (13:23 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 29 Feb 2012 22:52:52 +0000 (14:52 -0800)
commite975155f3e7001d32973af2391234e3af583501d
treeb67ede2b4336d1fe134e009ce7e1b66e57432b0e
parent7b57023e949bf0cdb856d16f8f43444c3a1428f1
Ksched tracks MCPs for their entire lifetime

_Ss still work like traditional schedulers - we tell the ksched about
them when they are runnable.  _Ms are always tracked, regardless of
running or not.

There's some minor races with proc state that give_cores can handle,
though I'd like to change that part a bit.

Also note that schedule() grabs proclocks.  Don't call this when holding
a proclock or from interrupt context.
kern/include/schedule.h
kern/src/monitor.c
kern/src/process.c
kern/src/resource.c
kern/src/schedule.c
kern/src/syscall.c
kern/src/testing.c