> 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

Reply via email to