C C-WillDeacon-MP+o-r+ai-rmb-o.litmus (* * Expected result: Never. *) { } P0(int *x, atomic_t *y) { int r0; WRITE_ONCE(*x, 1); r0 = atomic_xchg_release(y, 5); } P1(int *x, atomic_t *y) { int r1 ; atomic_inc(y); smp_rmb(); r1 = READ_ONCE(*x); } Observed 1:r1=0; 0:r0=0;