<snip> > > On Mon, 23 May 2022 16:23:46 +0200 > Mattias Rönnblom <mattias.ronnb...@ericsson.com> wrote: > > > + > > + /* make sure the data loads happens before the sn load */ > > + rte_atomic_thread_fence(__ATOMIC_ACQUIRE); > > Why mix __atomic builtin with rte_atomic? > Instead: > __atomic_thread_fence(__ATOMIC_ACQUIRE); There was an issue with __atomic_thread_fence(__ATOMIC_SEQ_CST) performance on x86. Hence, it was decided to add the 'rte_atomic_thread_fence' wrapper and use it all the time [1].
[1] https://www.dpdk.org/blog/2021/03/26/dpdk-adopts-the-c11-memory-model/