C Atomic-RMW+mb__after_atomic-is-stronger-than-acquire (* * Result: Never * * Test that an atomic RMW followed by a smp_mb__after_atomic() is * stronger than a normal acquire: both the read and write parts of * the RMW are ordered before the subsequential memory accesses. *) { } P0(int *x, atomic_t *y) { int r0; int r1; r0 = READ_ONCE(*x); smp_rmb(); r1 = atomic_read(y); } P1(int *x, atomic_t *y) { atomic_inc(y); smp_mb__after_atomic(); WRITE_ONCE(*x, 1); } exists (0:r0=1 /\ 0:r1=0)