Home
last modified time | relevance | path

Searched refs:fence (Results 1 – 9 of 9) sorted by relevance

/tools/testing/selftests/sync/
A Dsync_stress_consumer.c40 static int busy_wait_on_fence(int fence) in busy_wait_on_fence() argument
66 int fence, valid, i; in mpsc_producer_thread() local
73 valid = sw_sync_fence_is_valid(fence); in mpsc_producer_thread()
82 ASSERT(sync_wait(fence, -1) > 0, in mpsc_producer_thread()
100 sw_sync_fence_destroy(fence); in mpsc_producer_thread()
108 int fence, merged, tmp, valid, it, i; in mpcs_consumer_thread() local
121 sw_sync_fence_destroy(fence); in mpcs_consumer_thread()
122 fence = merged; in mpcs_consumer_thread()
125 valid = sw_sync_fence_is_valid(fence); in mpcs_consumer_thread()
133 ASSERT(sync_wait(fence, -1) > 0, in mpcs_consumer_thread()
[all …]
A Dsync_alloc.c46 int timeline, fence, valid; in test_alloc_fence() local
52 fence = sw_sync_fence_create(timeline, "allocFence", 1); in test_alloc_fence()
53 valid = sw_sync_fence_is_valid(fence); in test_alloc_fence()
56 sw_sync_fence_destroy(fence); in test_alloc_fence()
63 int fence, timeline; in test_alloc_fence_negative() local
68 fence = sw_sync_fence_create(-1, "fence", 1); in test_alloc_fence_negative()
69 ASSERT(fence < 0, "Success allocating negative fence\n"); in test_alloc_fence_negative()
71 sw_sync_fence_destroy(fence); in test_alloc_fence_negative()
A Dsync_merge.c34 int fence, valid, merged; in test_fence_merge_same_fence() local
40 fence = sw_sync_fence_create(timeline, "allocFence", 5); in test_fence_merge_same_fence()
41 valid = sw_sync_fence_is_valid(fence); in test_fence_merge_same_fence()
44 merged = sync_merge("mergeFence", fence, fence); in test_fence_merge_same_fence()
45 valid = sw_sync_fence_is_valid(fence); in test_fence_merge_same_fence()
56 sw_sync_fence_destroy(fence); in test_fence_merge_same_fence()
A Dsync_stress_merge.c43 int fence, tmpfence, merged, valid; in test_merge_stress_random_merge() local
51 fence = sw_sync_fence_create(timelines[0], "fence", 0); in test_merge_stress_random_merge()
52 valid = sw_sync_fence_is_valid(fence); in test_merge_stress_random_merge()
76 merged = sync_merge("merge", tmpfence, fence); in test_merge_stress_random_merge()
78 sw_sync_fence_destroy(fence); in test_merge_stress_random_merge()
79 fence = merged; in test_merge_stress_random_merge()
91 ASSERT(sync_fence_size(fence) == size, in test_merge_stress_random_merge()
97 ret = sync_wait(fence, 0); in test_merge_stress_random_merge()
106 ret = sync_wait(fence, 0); in test_merge_stress_random_merge()
109 sw_sync_fence_destroy(fence); in test_merge_stress_random_merge()
A Dsync_fence.c34 int fence, valid, ret; in test_fence_one_timeline_wait() local
40 fence = sw_sync_fence_create(timeline, "allocFence", 5); in test_fence_one_timeline_wait()
41 valid = sw_sync_fence_is_valid(fence); in test_fence_one_timeline_wait()
45 ret = sync_wait(fence, 0); in test_fence_one_timeline_wait()
53 ret = sync_wait(fence, 0); in test_fence_one_timeline_wait()
61 ret = sync_wait(fence, 0); in test_fence_one_timeline_wait()
67 ret = sync_wait(fence, 0); in test_fence_one_timeline_wait()
70 sw_sync_fence_destroy(fence); in test_fence_one_timeline_wait()
A Dsync_stress_parallelism.c45 int fence, valid, ret, i; in test_stress_two_threads_shared_timeline_thread() local
48 fence = sw_sync_fence_create(timeline, "fence", in test_stress_two_threads_shared_timeline_thread()
50 valid = sw_sync_fence_is_valid(fence); in test_stress_two_threads_shared_timeline_thread()
54 ret = sync_wait(fence, -1); in test_stress_two_threads_shared_timeline_thread()
69 sw_sync_fence_destroy(fence); in test_stress_two_threads_shared_timeline_thread()
A Dsync.c49 __s32 fence; member
81 return data.fence; in sync_merge()
208 return data.fence; in sw_sync_fence_create()
/tools/memory-model/
A Dlinux-kernel.cat59 * also affected by the fence.
65 let strong-fence = mb | gp
67 let nonrw-fence = strong-fence | po-rel | acq-po
68 let fence = nonrw-fence | wmb | rmb
100 let cumul-fence = [Marked] ; (A-cumul(strong-fence | po-rel) | wmb |
149 * inter-CPU strong fence.
164 let rcu-fence = po ; rcu-order ; po?
165 let fence = fence | rcu-fence
166 let strong-fence = strong-fence | rcu-fence
205 let ww-vis = fence | (strong-fence ; xbstar ; w-pre-bounded) |
[all …]
/tools/memory-model/Documentation/
A Dexplanation.txt22 14. PROPAGATION ORDER RELATION: cumul-fence
831 type of fence:
867 the strong fence are executed on C.
875 executed on C before the fence (i.e., those which precede the fence in
882 PROPAGATION ORDER RELATION: cumul-fence
1025 U ->cumul-fence X -> rmw-sequence Y
1371 But what if we put an smp_rmb() fence between P1's loads? The fence
1448 E ->coe W ->cumul-fence* X ->rfe? Y ->strong-fence Z ->hb* F,
1454 before the strong fence executes. Because this fence is strong, we
1682 there are fence events E and F such that:
[all …]

Completed in 15 milliseconds