C MP+fencewmbonceonce+fencermbonceonce

(*
 * Result: Never
 *
 * This litmus test demonstrates that smp_wmb() and smp_rmb() provide
 * sufficient ordering for the message-passing pattern.  However, it
 * is usually better to use smp_store_release() and smp_load_acquire().
 *)

{
	int buf;
	int flag;
}

P0(int *buf, int *flag) // Producer
{
	WRITE_ONCE(*buf, 1);
	smp_wmb();
	WRITE_ONCE(*flag, 1);
}

P1(int *buf, int *flag) // Consumer
{
	int r0;
	int r1;

	r0 = READ_ONCE(*flag);
	smp_rmb();
	r1 = READ_ONCE(*buf);
}

exists (1:r0=1 /\ 1:r1=0) (* Bad outcome. *)
