On Thu, Nov 09, 2017 at 09:24:08AM -0800, Davidlohr Bueso wrote: > On Wed, 08 Nov 2017, Boqun Feng wrote: > > Or worse: > > > > * CPU0 CPU1 > > * dlock_list_add() dlock_lists_empty() > > * smp_mb__before_atomic(); > > * [L] atomic_read(used_lists) Note that this is broken; smp_mb__before_atomic() is not valid on atomic_read(). > > * [S] atomic_inc(used_lists); > > * smp_mb__after_atomic(); > >