Re: Alpha Avanti broken by 9ce8654323d69273b4977f76f11c9e2d345ab130

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux