C 2+2W+locked+mb
{}
P0(int* y,spinlock_t* lo,int* x) {
spin_lock(lo);
WRITE_ONCE(*x,2);
spin_unlock(lo);
spin_lock(lo);
WRITE_ONCE(*y,1);
spin_unlock(lo);
}
P1(int* y,int* x) {
WRITE_ONCE(*y,2);
smp_mb();
WRITE_ONCE(*x,1);
}
Observed
y=2; x=2;