> On Thu, 4 Jun 2026 15:11:25 +0000 > Konstantin Ananyev <[email protected]> wrote: > > > > /** > > > * @internal This is a helper function that moves the producer/consumer > head > > > * optimized for single threaded case > > > @@ -82,7 +81,7 @@ __rte_ring_headtail_move_head_st(struct > rte_ring_headtail > > > *d, > > > /* Single producer: only this thread writes d->head, > > > * so a relaxed load is sufficient. > > > */ > > > - *old_head = rte_atomic_load_explicit(&d->head, > > > rte_memory_order_relaxed); > > > + *old_head = rte_atomic_load_explicit(&d->head, > > > rte_memory_order_acquire); > > > > Not sure, why it had changed to 'acquire' here? > > Looks like just patch splitting mistake, no? > > I should have kept it as relaxed for the first load.
Yes, I believe so. In fact, I reverted it back to 'relaxed' in final version (after applying all 5 patches) and run both stress_ring_autotest and stress_soring_autotest on ARM box in our lab. All passed. Konstantin

