_Q_TAIL_CPU_MASK
: "r" (&lock->val), "r" (new), "r" (_Q_TAIL_CPU_MASK),
return likely(!(prev & ~_Q_TAIL_CPU_MASK));
return !!(READ_ONCE(lock->val) & _Q_TAIL_CPU_MASK);
"r" (_Q_TAIL_CPU_MASK),
: "r" (&lock->val), "r" (tail), "r"(_Q_TAIL_CPU_MASK)
if (old & _Q_TAIL_CPU_MASK) {
if ((old & _Q_TAIL_CPU_MASK) == tail)
cpu = (lock & _Q_TAIL_CPU_MASK) >> _Q_TAIL_CPU_OFFSET;
#define _Q_TAIL_MASK (_Q_TAIL_IDX_MASK | _Q_TAIL_CPU_MASK)
#define _Q_TAIL_MASK (_Q_TAIL_IDX_MASK | _Q_TAIL_CPU_MASK)
#define _Q_TAIL_MASK (_Q_TAIL_IDX_MASK | _Q_TAIL_CPU_MASK)