Messages in this thread | | | Date | Tue, 12 May 2015 15:00:43 +0200 | From | Peter Zijlstra <> | Subject | Re: [tip:locking/core] locking/pvqspinlock: Replace xchg() by the more descriptive set_mb() |
| |
On Tue, May 12, 2015 at 10:45:29AM +0200, Peter Zijlstra wrote: > On Mon, May 11, 2015 at 10:50:42AM -0700, Linus Torvalds wrote: > > On Mon, May 11, 2015 at 7:54 AM, Peter Zijlstra <peterz@infradead.org> wrote: > > > > > > Hmm, so I looked at the set_mb() definitions and I figure we want to do > > > something like the below, right? > > > > I don't think you need to do this for the non-smp cases. > > Well, its the store tearing thing again, we use WRITE_ONCE() in > smp_store_release() for the same reason. We want it to be a single > store. > > > The whole > > thing is about smp memory ordering, so on UP you don't even need the > > WRITE_ONCE(), much less a barrier.
Ah, you meant the memory barrier; indeed, a compiler barrier is sufficient. I got somewhat confused between Waiman's email and barrier and barrier() (again!).
| |