On Mon, Aug 20, 2018 at 06:22:26AM -0400, Mikulas Patocka wrote: > Alpha already has a memory barrier inside arch_spin_unlock. > > > BTW. I think that arch_spinlock_t (and atomic_t) on alpha should be > 8-byte. See this case - writing the variable "x" performs > read-modify-write cycle on the spinlock, corrupting it. > > struct s { > spinlock_t lock; > unsigned char x; > }; Yes, generic Alpha does not have atomic byte or 16-bit word writes. A write of an 8-bit or 16-bit datum requires a read-modify-write sequence of the containing 32-bit or 64-bit datum. Later Alphas with the byte-word extension don't suffer from this limitation. Cheers Michael.