On Thu, Aug 27, 2020 at 3:08 PM Boqun Feng <boqun.feng@xxxxxxxxx> wrote: > So if try_cmpxchg_acquire() fails, we don't have ACQUIRE semantics on > read of the new list->head, right? Then probably a > smp_mb__after_atomic() is needed in that case? Yes, there needs to be an acquire on the head after a failed cmpxchg; does the atomic_fetch_add following that not have acquire semantics? Cameron