I would prefer much more explanation of what's going on here. Some things I would like discussed:

* waiter/locker count combined into one atomic variable
* bounded waiting is guaranteed
* Not all native threads block on a mutex. This sounds backwards because this looks like it again has the problems of take 1, but it should be explained that we're not optimizing for the mixed green/native case so this slowdown is acceptable.

And any other general info you've got could also go here.