head = atomic_load_explicit(&q->head, acquire);
tail = atomic_load_explicit(&q->tail, acquire);
next = atomic_load_explicit(&q->nodes[get_ptr(head)].next, acquire);
head = atomic_load_explicit(&q->head, acquire);
tail = atomic_load_explicit(&q->tail, acquire);
next = atomic_load_explicit(&q->nodes[get_ptr(head)].next, acquire);