try_cmpxchg
while (!try_cmpxchg(&engine->retire, &first, tl));
return try_cmpxchg(__active_fence_slot(active), &fence, NULL);
} while (!try_cmpxchg(&rq->fence.error, &old, error));
#define try_cmpxchg64(p, op, n) try_cmpxchg(p, op, n)
return try_cmpxchg(p, op, n);