Lines Matching refs:bar
97 struct pthread_barrier *bar = (struct pthread_barrier *) barrier; in ___pthread_barrier_wait() local
110 i = atomic_fetch_add_acq_rel (&bar->in, 1) + 1; in ___pthread_barrier_wait()
113 unsigned int count = bar->count; in ___pthread_barrier_wait()
126 futex_wait_simple (&bar->in, i, bar->shared); in ___pthread_barrier_wait()
130 i = atomic_load_relaxed (&bar->in); in ___pthread_barrier_wait()
142 unsigned cr = atomic_load_relaxed (&bar->current_round); in ___pthread_barrier_wait()
156 if (atomic_compare_exchange_weak_release (&bar->current_round, &cr, in ___pthread_barrier_wait()
167 futex_wake (&bar->current_round, INT_MAX, bar->shared); in ___pthread_barrier_wait()
184 futex_wait_simple (&bar->current_round, cr, bar->shared); in ___pthread_barrier_wait()
186 cr = atomic_load_relaxed (&bar->current_round); in ___pthread_barrier_wait()
199 o = atomic_fetch_add_release (&bar->out, 1) + 1; in ___pthread_barrier_wait()
209 atomic_store_relaxed (&bar->current_round, 0); in ___pthread_barrier_wait()
210 atomic_store_relaxed (&bar->out, 0); in ___pthread_barrier_wait()
214 int shared = bar->shared; in ___pthread_barrier_wait()
215 atomic_store_release (&bar->in, 0); in ___pthread_barrier_wait()
216 futex_wake (&bar->in, INT_MAX, shared); in ___pthread_barrier_wait()