Re: [RFC 3/3] tools/memory-model: Add litmus test for RMW + smp_mb__after_atomic()

From: Andrea Parri
Date: Fri Feb 14 2020 - 03:18:34 EST


> > @@ -0,0 +1,29 @@
> > +C Atomic-RMW+mb__after_atomic-is-strong-acquire
> > +
> > +(*
> > + * Result: Never
> > + *
> > + * Test of an atomic RMW followed by a smp_mb__after_atomic() is
> > + * "strong-acquire": both the read and write part of the RMW is ordered before
> > + * the subsequential memory accesses.
> > + *)
> > +
> > +{
> > +}
> > +
> > +P0(int *x, atomic_t *y)
> > +{
> > + r0 = READ_ONCE(*x);
> > + smp_rmb();
> > + r1 = atomic_read(y);

IIRC, klitmus7 needs a declaration for these local variables, say
(trying to keep herd7 happy):

P0(int *x, atomic_t *y)
{
int r0;
int r1;

r0 = READ_ONCE(*x);
smp_rmb();
r1 = atomic_read(y);
}

Thanks,
Andrea