_Q_PENDING_MASK
val |= atomic_read(&lock->val) & ~_Q_PENDING_MASK;
if (!(val & _Q_PENDING_MASK))
if (!(val & _Q_PENDING_MASK))
#define _Q_LOCKED_PENDING_MASK (_Q_LOCKED_MASK | _Q_PENDING_MASK)
new = (old & ~_Q_PENDING_MASK) | _Q_LOCKED_VAL;
if (!(val & _Q_TAIL_MASK) || (val & _Q_PENDING_MASK))
#define _Q_LOCKED_PENDING_MASK (_Q_LOCKED_MASK | _Q_PENDING_MASK)
if (!(val & _Q_PENDING_MASK))