C C-Andrea-Parri-After-Atomic-Fence-00
(* Sometimes, as atomic_set and atomic_read are not RMW's *)
{ }
P0(atomic_t *u, atomic_t *v)
{
int r0;
atomic_set(u, 1);
smp_mb__after_atomic();
r0 = atomic_read(v);
}
P1(atomic_t *u, atomic_t *v)
{
int r0;
atomic_set(v, 1);
smp_mb__after_atomic();
r0 = atomic_read(u);
}
Observed
1:r0=0; 0:r0=0;