LK_ALL_WAITERS
MPASS((v & ~LK_ALL_WAITERS) == LK_SHARERS_LOCK(1));
setv |= (v & LK_ALL_WAITERS);
x &= LK_ALL_WAITERS;
v = x & (LK_ALL_WAITERS | LK_EXCLUSIVE_SPINNERS);
x &= LK_ALL_WAITERS;
switch (lk->lk_lock & LK_ALL_WAITERS) {
case LK_ALL_WAITERS:
x = orig_x & (LK_ALL_WAITERS | LK_EXCLUSIVE_SPINNERS);
if (LK_SHARERS(*xp) > 1 || !(*xp & LK_ALL_WAITERS)) {
if ((x & LK_ALL_WAITERS) != 0)
~(LK_ALL_WAITERS | LK_EXCLUSIVE_SPINNERS)));
if ((x & LK_ALL_WAITERS) != 0)
v = x & (LK_ALL_WAITERS | LK_EXCLUSIVE_SPINNERS);
(LK_SHARE | LK_ALL_WAITERS | LK_EXCLUSIVE_SPINNERS | LK_WRITER_RECURSED)