vcore_request() no longer uses MCS locks
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 18 Oct 2011 00:21:19 +0000 (17:21 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 15 Dec 2011 22:48:40 +0000 (14:48 -0800)
commit19404b2f277d53d7cca7000438ffc9c28df3ccef
treed5b644f9662ef2c2668f667eac54039d90ef698d
parentfc702ae0849ff9bd4d8bf34bd23c39b31a56b256
vcore_request() no longer uses MCS locks

All cores update a shared atomic, saying they want that many vcores.
One core will actually handle the process of prepping the vcores and
asking the kernel for them.

Note that the whole request/yield process and its effects on amt_wanted
and whatnot is rather jacked up.  Vcore code needs to be smarter about
how it interacts with amt_wanted, which will require some help from the
kernel, which I'll do in future patches.
user/parlib/include/i686/atomic.h
user/parlib/include/vcore.h
user/parlib/vcore.c