Kernel scheduler tracks procs 'cradle to grave'
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 20 Apr 2012 21:20:02 +0000 (14:20 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 23 Apr 2012 23:03:27 +0000 (16:03 -0700)
commitf0b6589f5cb2e02a75cad122c1f1f9aa9b11c158
treea1b34c4e925337957f77b5ec89baae3aa9a7365a
parent121f174247ece10af0b835b6da33afedca2d3be7
Kernel scheduler tracks procs 'cradle to grave'

Previously, the ksched would only know about processes whenever it
needed to make a decisions.  For MCPs, this was always.  For SCPs, it
was only when runnable.  Now it knows about them from register_proc()
(called during proc creation) until proc_destroy(), which recently
became a ksched function (this was part of the motivation for that).

This also allows the ksched to not need to poll the queues to detect if
someone is dying or not.  That messiness is gone, and the ksched just
gets called for proc_destroy().
Documentation/kref.txt
kern/include/env.h
kern/include/process.h
kern/include/schedule.h
kern/src/process.c
kern/src/schedule.c