WAFLAG
if ((v & WAFLAG) == 0) {
if (atomic_fcmpset_int(&lock->lock, &v, WAFLAG))
if ((lock->lock & WAFLAG) == 0) {
v = atomic_fetchadd_int(&lock->lock, -WAFLAG) - WAFLAG;