On Thu, Jul 06, 2017 at 09:55:03AM +0100, Will Deacon wrote: > Agreed on the indirection; it feels like this is something that should be in > the vDSO, which could use the cmpxchg instruction if it's available, or > otherwise just uses plain loads and stores. Even that seems like a lot of indirection for something that is in the critical fast path for synchronization. I really can't understand how a new ISA / ABI could even come up with an idea as stupid as making essential synchronization primitives optional.