Linux 5.7.7
[linux/fpc-iii.git] / tools / memory-model / litmus-tests / SB+poonceonces.litmus
blob10d550730b25fdd800f2dd5ec8a9f0e555d65415
1 C SB+poonceonces
3 (*
4  * Result: Sometimes
5  *
6  * This litmus test demonstrates that at least some ordering is required
7  * to order the store-buffering pattern, where each process writes to the
8  * variable that the preceding process reads.
9  *)
13 P0(int *x, int *y)
15         int r0;
17         WRITE_ONCE(*x, 1);
18         r0 = READ_ONCE(*y);
21 P1(int *x, int *y)
23         int r0;
25         WRITE_ONCE(*y, 1);
26         r0 = READ_ONCE(*x);
29 exists (0:r0=0 /\ 1:r0=0)