- while (pending_[tid_]->tail != rcu_[tid_][tid_]) {
- fifo_t *q = pending_[tid_];
- uint32_t i = MOD_SCALE(q->tail++, q->scale);
+ fifo_t *q = pending_[tid_];
+ while (q->tail != rcu_[tid_][tid_]) {
+ uint32_t i = MOD_SCALE(q->tail, q->scale);
+ TRACE("r0", "rcu_update: freeing %p from queue at position %llu", q->x[i], q->tail);