kernel/arch/ia64/include/asm/spinlock.h
.. .. @@ -73,6 +73,8 @@ 73 73 { 74 74 unsigned short *p = (unsigned short *)&lock->lock + 1, tmp; 75 75 76 + /* This could be optimised with ARCH_HAS_MMIOWB */77 + mmiowb();76 78 asm volatile ("ld2.bias %0=[%1]" : "=r"(tmp) : "r"(p)); 77 79 WRITE_ONCE(*p, (tmp + 2) & ~1); 78 80 }