/freebsd-11-stable/sys/contrib/ck/src/ |
H A D | ck_barrier_centralized.c | 32 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 D | ck_barrier_mcs.c | 34 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 D | ck_barrier_dissemination.c | 36 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 D | ck_barrier_tournament.c | 34 * 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 D | ck_barrier_combining.c | 63 * 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 D | bar.c | 28 /* 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 D | barrier.c | 43 gomp_barrier_wait (&team->barrier);
|
H A D | single.c | 66 gomp_barrier_wait (&thr->ts.team->barrier); 87 gomp_barrier_wait (&team->barrier);
|
H A D | team.c | 44 /* 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 D | work.c | 143 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 D | libgomp.h | 98 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 D | thr_barrier.c | 46 _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 D | t_barrier.c | 44 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 D | barrier.h | 33 * APIs for the barrier synchronization primitive. 47 typedef struct barrier { struct
|
/freebsd-11-stable/sys/compat/linuxkpi/common/include/linux/ |
H A D | compiler.h | 82 #define barrier() __asm__ __volatile__("": : :"memory") macro 90 barrier(); \ 92 barrier(); \ 97 barrier(); \ 100 barrier(); \
|
/freebsd-11-stable/contrib/gcclibs/libgomp/config/posix/ |
H A D | bar.c | 28 /* 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 D | udma_barrier.h | 52 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 D | tscdrift.c | 46 #define barrier() __asm __volatile("" ::: "memory") macro 77 barrier(); 82 barrier(); 143 barrier(); 147 barrier();
|
/freebsd-11-stable/sys/tools/ |
H A D | bus_macro.sh | 50 macro barrier o l f
|
/freebsd-11-stable/sys/dev/bhnd/tools/ |
H A D | bus_macro.sh | 64 macro barrier o l f
|
/freebsd-11-stable/cddl/usr.bin/ctfmerge/ |
H A D | Makefile | 8 barrier.c \
|
/freebsd-11-stable/contrib/llvm-project/compiler-rt/lib/tsan/rtl/ |
H A D | tsan_interceptors_libdispatch.cpp | 155 #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 D | Makefile | 12 SRCS= alloc.c barrier.c critical.c env.c \
|
/freebsd-11-stable/sys/arm/arm/ |
H A D | cpufunc_asm_xscale_c3.S | 255 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 D | ena_plat.h | 408 #define barrier() __asm__ __volatile__("": : :"memory") macro 409 #define dma_rmb() barrier() 410 #define mmiowb() barrier() 415 barrier(); \ 417 barrier(); \
|