Cleans up restartcore/smp_idle, fixes corner case
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 25 Jul 2013 18:37:02 +0000 (11:37 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 25 Jul 2013 18:37:02 +0000 (11:37 -0700)
commitc251bb06170a52b41440082c83e92603a6a5aa71
tree6394f38124f489c104372e234ac68e7883959e2e
parent6164a0c0fa2069371737562bad3db2e9ebd800dc
Cleans up restartcore/smp_idle, fixes corner case

It was possible to have a proc's address space hang around on a core, if that
core was idle, then received a __startcore, followed quickly by __death, and
then was never used again.

This cleans up this situation (abandon_core() aggressively if there is no
owner), and cleans up proc_restartcore() and smp_idle() a little.
kern/include/process.h
kern/src/process.c
kern/src/smp.c