Removed unnecessary/fauly assert
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 15 Mar 2012 20:15:46 +0000 (13:15 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 15 Mar 2012 20:15:46 +0000 (13:15 -0700)
commit1259f086842e2bf4e16b06068a9cefafaadcd089
tree579d6591bf80ae689c2999bffd02c7292ec11c7b
parent1c4142acdcffae76548aef88388f43a117139040
Removed unnecessary/fauly assert

This safely trips if SCPs kthread and yield in a loop while waiting.
Here's what happens:
1) process causes a kthread (sys_block)
2) process yields, leaving the core (no longer current or owning)
3) timer interrupt goes off and unblocks the kthread, which sets current
(but not owning)
4) kthread does not clear current - that's done in the
restartcore/smp_idle path.
5) ksched's timer tick goes off, causing its work to be done in a
routine kmsg
6) proc_restartcore executes the kmsg before abanonding
&) ksched kmsg calls proc_run_s

We actually don't want to abandon early - it's better to stay in that
context til after we check messages (avoid an extra TLB flush).  The old
assert was probably important a long time ago (back when owning_proc and
current were the same thing), or at least a "this is weird, check it
out."

Note the process is current, but not the owning proc.
kern/src/process.c