Searched refs:barrier (Results 1 - 25 of 49) sorted by relevance

12

/freebsd-11-stable/sys/contrib/ck/src/
H A Dck_barrier_centralized.c32 ck_barrier_centralized(struct ck_barrier_centralized *barrier, argument
40 * This sense is reversed when the barrier is entered. Every
45 value = ck_pr_faa_uint(&barrier->value, 1);
47 ck_pr_store_uint(&barrier->value, 0);
49 ck_pr_store_uint(&barrier->sense, sense);
54 while (sense != ck_pr_load_uint(&barrier->sense))
H A Dck_barrier_mcs.c34 ck_barrier_mcs_init(struct ck_barrier_mcs *barrier, unsigned int nthr) argument
38 ck_pr_store_uint(&barrier->tid, 0);
46 barrier[i].havechild[j] = ((i << 2) + j < nthr - 1) ? ~0 : 0;
52 barrier[i].childnotready[j] = barrier[i].havechild[j];
56 barrier[i].parent = (i == 0) ?
57 &barrier[i].dummy :
58 &barrier[(i - 1) >> 2].childnotready[(i - 1) & 3];
61 barrier[i].children[0] = ((i << 1) + 1 >= nthr) ?
62 &barrier[
76 ck_barrier_mcs_subscribe(struct ck_barrier_mcs *barrier, struct ck_barrier_mcs_state *state) argument
112 ck_barrier_mcs(struct ck_barrier_mcs *barrier, struct ck_barrier_mcs_state *state) argument
[all...]
H A Dck_barrier_dissemination.c36 ck_barrier_dissemination_init(struct ck_barrier_dissemination *barrier, argument
43 barrier->nthr = nthr;
44 barrier->size = size = ck_internal_log(ck_internal_power_2(nthr));
45 ck_pr_store_uint(&barrier->tid, 0);
48 barrier[i].flags[0] = barrier_internal[i];
49 barrier[i].flags[1] = barrier_internal[i] + size;
56 * Partners are chosen such that by the completion of the barrier,
59 * by every other thread in the barrier.
67 barrier[i].flags[0][k].pflag = &barrier[
79 ck_barrier_dissemination_subscribe(struct ck_barrier_dissemination *barrier, struct ck_barrier_dissemination_state *state) argument
97 ck_barrier_dissemination(struct ck_barrier_dissemination *barrier, struct ck_barrier_dissemination_state *state) argument
[all...]
H A Dck_barrier_tournament.c34 * This is a tournament barrier implementation. Threads are statically
35 * assigned roles to perform for each round of the barrier. Winners
50 ck_barrier_tournament_subscribe(struct ck_barrier_tournament *barrier, argument
55 state->vpid = ck_pr_faa_uint(&barrier->tid, 1);
60 ck_barrier_tournament_init(struct ck_barrier_tournament *barrier, argument
66 ck_pr_store_uint(&barrier->tid, 0);
67 barrier->size = size = ck_barrier_tournament_size(nthr);
97 ck_pr_store_ptr(&barrier->rounds, rounds);
109 ck_barrier_tournament(struct ck_barrier_tournament *barrier, argument
112 struct ck_barrier_tournament_round **rounds = ck_pr_load_ptr(&barrier
[all...]
H A Dck_barrier_combining.c63 * barrier may end prematurely.
72 * into the barrier's tree. We use a queue to implement this
158 ck_barrier_combining_aux(struct ck_barrier_combining *barrier, argument
169 * If we are and will be the last thread entering the barrier for the
173 ck_barrier_combining_aux(barrier, tnode->parent, sense);
179 * number of threads are members of a barrier for the lifetime of the barrier.
182 * are at the barrier.
197 ck_barrier_combining(struct ck_barrier_combining *barrier, argument
202 ck_barrier_combining_aux(barrier, tnod
[all...]
/freebsd-11-stable/contrib/gcclibs/libgomp/config/linux/
H A Dbar.c28 /* This is a Linux specific implementation of a barrier synchronization
61 gomp_barrier_wait (gomp_barrier_t *barrier) argument
63 gomp_barrier_wait_end (barrier, gomp_barrier_wait_start (barrier));
/freebsd-11-stable/contrib/gcclibs/libgomp/
H A Dbarrier.c43 gomp_barrier_wait (&team->barrier);
H A Dsingle.c66 gomp_barrier_wait (&thr->ts.team->barrier);
87 gomp_barrier_wait (&team->barrier);
H A Dteam.c44 /* This barrier holds and releases threads waiting in gomp_threads. */
95 gomp_barrier_wait (&thr->ts.team->barrier);
97 gomp_barrier_wait (&thr->ts.team->barrier);
121 gomp_barrier_wait (&team->barrier);
153 gomp_barrier_init (&team->barrier, nthreads);
169 gomp_barrier_destroy (&team->barrier);
229 /* Increase the barrier threshold to make sure all new
310 gomp_barrier_wait (nested ? &team->barrier : &gomp_threads_dock);
312 /* Decrease the barrier threshold to match the number of threads
330 gomp_barrier_wait (&team->barrier);
[all...]
H A Dwork.c143 This version does imply a barrier at the end of the work-share. */
162 last = gomp_barrier_wait_start (&team->barrier);
176 gomp_barrier_wait_end (&team->barrier, last);
181 This version does NOT imply a barrier at the end of the work-share. */
H A Dlibgomp.h98 to other work; otherwise they're blocked on a barrier. The last member
191 /* This barrier is used for most synchronization of the team. */
192 gomp_barrier_t barrier; member in struct:gomp_team
/freebsd-11-stable/lib/libthr/thread/
H A Dthr_barrier.c46 _pthread_barrier_destroy(pthread_barrier_t *barrier) argument
52 if (barrier == NULL || *barrier == NULL)
55 if (*barrier == THR_PSHARED_PTR) {
56 bar = __thr_pshared_offpage(barrier, 0);
58 *barrier = NULL;
63 bar = *barrier;
88 *barrier = NULL;
90 __thr_pshared_destroy(barrier);
97 _pthread_barrier_init(pthread_barrier_t * __restrict barrier, argument
132 _pthread_barrier_wait(pthread_barrier_t *barrier) argument
[all...]
/freebsd-11-stable/contrib/netbsd-tests/lib/libpthread/
H A Dt_barrier.c44 pthread_barrier_t barrier; variable
55 printf("thread %d entering barrier\n", which);
56 rv = pthread_barrier_wait(&barrier);
57 printf("thread %d leaving barrier -> %d\n", which, rv);
68 ATF_TC(barrier); variable
69 ATF_TC_HEAD(barrier, tc)
73 ATF_TC_BODY(barrier, tc)
80 PTHREAD_REQUIRE(pthread_barrier_init(&barrier, NULL, COUNT));
107 ATF_TP_ADD_TC(tp, barrier);
/freebsd-11-stable/cddl/contrib/opensolaris/tools/ctf/cvt/
H A Dbarrier.h33 * APIs for the barrier synchronization primitive.
47 typedef struct barrier { struct
/freebsd-11-stable/sys/compat/linuxkpi/common/include/linux/
H A Dcompiler.h82 #define barrier() __asm__ __volatile__("": : :"memory") macro
90 barrier(); \
92 barrier(); \
97 barrier(); \
100 barrier(); \
/freebsd-11-stable/contrib/gcclibs/libgomp/config/posix/
H A Dbar.c28 /* This is the default implementation of a barrier synchronization mechanism
30 being able to adjust the barrier count while threads are blocked, so the
52 /* Before destroying, make sure all threads have left the barrier. */
108 gomp_barrier_wait (gomp_barrier_t *barrier) argument
110 gomp_barrier_wait_end (barrier, gomp_barrier_wait_start (barrier));
/freebsd-11-stable/contrib/ofed/include/
H A Dudma_barrier.h52 OK for the DMA device to also not see the write after the barrier.
78 NOTE: x86 has historically used a weaker semantic for this barrier, and
108 #error No architecture specific memory barrier defines found!
116 This guarantees that all reads that follow the barrier see the ordered
144 #error No architecture specific memory barrier defines found!
148 the barrier without also seeing all writes before the barrier. This does
152 data, this barrier is placed after writing the data but before writing the
156 Compared to udma_to_device_barrier() this barrier is not required to fence
169 This should be used after a write to WC memory. This is both a barrier
[all...]
/freebsd-11-stable/tools/tools/tscdrift/
H A Dtscdrift.c46 #define barrier() __asm __volatile("" ::: "memory") macro
77 barrier();
82 barrier();
143 barrier();
147 barrier();
/freebsd-11-stable/sys/tools/
H A Dbus_macro.sh50 macro barrier o l f
/freebsd-11-stable/sys/dev/bhnd/tools/
H A Dbus_macro.sh64 macro barrier o l f
/freebsd-11-stable/cddl/usr.bin/ctfmerge/
H A DMakefile8 barrier.c \
/freebsd-11-stable/contrib/llvm-project/compiler-rt/lib/tsan/rtl/
H A Dtsan_interceptors_libdispatch.cpp155 #define DISPATCH_INTERCEPT_ASYNC_B(name, barrier) \
163 new_context->is_barrier_block = barrier; \
170 #define DISPATCH_INTERCEPT_SYNC_B(name, barrier) \
175 q, block, &invoke_block, false, true, barrier, 0}; \
183 #define DISPATCH_INTERCEPT_ASYNC_F(name, barrier) \
189 new_context->is_barrier_block = barrier; \
196 #define DISPATCH_INTERCEPT_SYNC_F(name, barrier) \
201 q, context, work, false, true, barrier, 0}; \
209 #define DISPATCH_INTERCEPT(name, barrier) \
210 DISPATCH_INTERCEPT_ASYNC_F(name##_async_f, barrier) \
632 TSAN_INTERCEPTOR(void, dispatch_io_barrier, dispatch_io_t channel, dispatch_block_t barrier) argument
[all...]
/freebsd-11-stable/gnu/lib/libgomp/
H A DMakefile12 SRCS= alloc.c barrier.c critical.c env.c \
/freebsd-11-stable/sys/arm/arm/
H A Dcpufunc_asm_xscale_c3.S255 mcr p15, 0, r0, c7, c10, 5 /* Data memory barrier */
269 mcr p15, 0, r0, c7, c10, 4 @ data write barrier
272 mcr p15, 0, r0, c7, c10, 5 /* Data memory barrier */
277 mcr p15, 0, r0, c7, c10, 5 /* Data memory barrier */
291 mcr p15, 0, r0, c7, c10, 4 @ data write barrier
299 mcr p15, 0, r0, c7, c10, 5 /* Data memory barrier */
311 mcr p15, 0, r0, c7, c10, 4 @ data write barrier
318 mcr p15, 0, r0, c7, c10, 5 /* Data memory barrier */
328 mcr p15, 0, r0, c7, c10, 4 @ data write barrier
/freebsd-11-stable/sys/contrib/ena-com/
H A Dena_plat.h408 #define barrier() __asm__ __volatile__("": : :"memory") macro
409 #define dma_rmb() barrier()
410 #define mmiowb() barrier()
415 barrier(); \
417 barrier(); \

Completed in 265 milliseconds

12