On Wed, Feb 22, 2017 at 12:41:17PM +0100, Peter Zijlstra wrote:
> On Wed, Feb 22, 2017 at 04:11:39AM +0900, Stafford Horne wrote:
> > +static inline void arch_spin_unlock(arch_spinlock_t *lock)
> > +{
> > +   smp_mb();
> > +   lock->tickets.owner++;
> > +}
> 
> This is putting a lot of trust in the compiler, nothing is volatile so
> it can do horrible things.

Also, your architecture manual seems to not explicitly mention how
l.lwa/l.swa interact with overlapping l.sh.

In fact, I can read the text such that its done 'wrong'.

Reply via email to