Add a helper for blocking a uthread from VC ctx
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 27 Apr 2016 21:35:32 +0000 (17:35 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 2 May 2016 21:11:15 +0000 (17:11 -0400)
commit465a616319406066625fae45854d2aa7e3260843
tree14e1aa2b4aaf196830496c4615447d1cd0851e2a
parent74b6f90505b6863d05f1c614a11a60f666e5b041
Add a helper for blocking a uthread from VC ctx

All 2LSs perform the same basic thing for page faults: issue an async call,
then block on it.  The blocking process is like a stripped down version of
the normal blockon, since it picks up while the 2LS is already in vcore
context.

This commit adds the helper and uses it for the two exiting 2LSs.  This
actually fixes a minor issue: pthread code that was DONT_MIGRATE would have
had an issue.  Likewise, we weren't handling the PFs for the thread0 sched.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
user/parlib/include/parlib/uthread.h
user/parlib/thread0_sched.c
user/parlib/uthread.c
user/pthread/pthread.c