brintos

brintos / linux-shallow public Read only

0
0
Text · 499 B · ed5fff1 Raw
33 lines · plain
1C SB+fencembonceonces2 3(*4 * Result: Never5 *6 * This litmus test demonstrates that full memory barriers suffice to7 * order the store-buffering pattern, where each process writes to the8 * variable that the preceding process reads.  (Locking and RCU can also9 * suffice, but not much else.)10 *)11 12{}13 14P0(int *x, int *y)15{16	int r0;17 18	WRITE_ONCE(*x, 1);19	smp_mb();20	r0 = READ_ONCE(*y);21}22 23P1(int *x, int *y)24{25	int r0;26 27	WRITE_ONCE(*y, 1);28	smp_mb();29	r0 = READ_ONCE(*x);30}31 32exists (0:r0=0 /\ 1:r0=0)33