| /linux/include/linux/ |
| A D | spinlock_up.h | 32 barrier(); in arch_spin_lock() 40 barrier(); in arch_spin_trylock() 47 barrier(); in arch_spin_unlock() 54 #define arch_read_lock(lock) do { barrier(); (void)(lock); } while (0) 55 #define arch_write_lock(lock) do { barrier(); (void)(lock); } while (0) 56 #define arch_read_trylock(lock) ({ barrier(); (void)(lock); 1; }) 57 #define arch_write_trylock(lock) ({ barrier(); (void)(lock); 1; }) 58 #define arch_read_unlock(lock) do { barrier(); (void)(lock); } while (0) 59 #define arch_write_unlock(lock) do { barrier(); (void)(lock); } while (0) 64 # define arch_spin_lock(lock) do { barrier(); (void)(lock); } while (0) [all …]
|
| A D | preempt.h | 216 barrier(); \ 221 barrier(); \ 232 barrier(); \ 239 barrier(); \ 253 barrier(); \ 259 barrier(); \ 269 barrier(); \ 274 barrier(); \ 286 #define preempt_disable() barrier() 289 #define preempt_enable() barrier() [all …]
|
| /linux/arch/arm64/include/asm/ |
| A D | irqflags.h | 25 barrier(); in __daif_local_irq_enable() 27 barrier(); in __daif_local_irq_enable() 37 barrier(); in __pmr_local_irq_enable() 40 barrier(); in __pmr_local_irq_enable() 54 barrier(); in __daif_local_irq_disable() 56 barrier(); in __daif_local_irq_disable() 66 barrier(); in __pmr_local_irq_disable() 68 barrier(); in __pmr_local_irq_disable() 174 barrier(); in __daif_local_irq_restore() 176 barrier(); in __daif_local_irq_restore() [all …]
|
| A D | hardirq.h | 51 barrier(); \ 57 barrier(); \ 75 barrier(); \ 83 barrier(); \
|
| /linux/Documentation/scheduler/ |
| A D | membarrier.rst | 14 require each architecture to have a full memory barrier after coming from 15 user-space, before updating rq->curr. This barrier is implied by the sequence 16 rq_lock(); smp_mb__after_spinlock() in __schedule(). The barrier matches a full 17 barrier in the proximity of the membarrier system call exit, cf. 24 require each architecture to have a full memory barrier after updating rq->curr, 25 before returning to user-space. The schemes providing this barrier on the various 28 - alpha, arc, arm, hexagon, mips rely on the full barrier implied by 31 - arm64 relies on the full barrier implied by switch_to(). 33 - powerpc, riscv, s390, sparc, x86 rely on the full barrier implied by 34 switch_mm(), if mm is not NULL; they rely on the full barrier implied [all …]
|
| /linux/tools/virtio/ringtest/ |
| A D | main.h | 92 #define barrier() asm volatile("" ::: "memory") macro 98 #define cpu_relax() barrier() 113 barrier(); in busy_wait() 133 barrier(); \ 139 barrier(); \ 143 #define smp_wmb() barrier() 163 barrier(); in __read_once_size() 165 barrier(); in __read_once_size() 177 barrier(); in __write_once_size() 179 barrier(); in __write_once_size()
|
| /linux/arch/s390/include/asm/ |
| A D | barrier.h | 32 #define __rmb() barrier() 33 #define __wmb() barrier() 43 barrier(); \ 51 barrier(); \ 55 #define __smp_mb__before_atomic() barrier() 56 #define __smp_mb__after_atomic() barrier()
|
| /linux/include/asm-generic/ |
| A D | barrier.h | 61 #define mb() barrier() 113 #define smp_mb() barrier() 117 #define smp_rmb() barrier() 121 #define smp_wmb() barrier() 182 #define smp_store_mb(var, value) do { WRITE_ONCE(var, value); barrier(); } while (0) 186 #define smp_mb__before_atomic() barrier() 190 #define smp_mb__after_atomic() barrier() 196 barrier(); \ 205 barrier(); \
|
| /linux/tools/perf/tests/ |
| A D | sigtrap.c | 176 pthread_barrier_t *barrier = (pthread_barrier_t *)arg; in test_thread() local 180 pthread_barrier_wait(barrier); in test_thread() 189 static int run_test_threads(pthread_t *threads, pthread_barrier_t *barrier) in run_test_threads() argument 193 pthread_barrier_wait(barrier); in run_test_threads() 200 static int run_stress_test(int fd, pthread_t *threads, pthread_barrier_t *barrier) in run_stress_test() argument 208 ret = run_test_threads(threads, barrier); in run_stress_test() 239 pthread_barrier_t barrier; in test__sigtrap() local 248 pthread_barrier_init(&barrier, NULL, NUM_THREADS + 1); in test__sigtrap() 271 if (pthread_create(&threads[i], NULL, test_thread, &barrier)) { in test__sigtrap() 277 ret = run_stress_test(fd, threads, &barrier); in test__sigtrap() [all …]
|
| /linux/arch/powerpc/kernel/ |
| A D | smp-tbsync.c | 53 barrier(); in smp_generic_take_timebase() 59 barrier(); in smp_generic_take_timebase() 70 barrier(); in smp_generic_take_timebase() 96 barrier(); in start_contest() 99 barrier(); in start_contest() 104 barrier(); in start_contest() 125 barrier(); in smp_generic_give_timebase() 166 barrier(); in smp_generic_give_timebase()
|
| /linux/arch/alpha/include/asm/ |
| A D | irqflags.h | 35 barrier(); in arch_local_irq_disable() 41 barrier(); in arch_local_irq_save() 47 barrier(); in arch_local_irq_enable() 53 barrier(); in arch_local_irq_restore() 55 barrier(); in arch_local_irq_restore()
|
| /linux/tools/virtio/asm/ |
| A D | barrier.h | 4 #define barrier() asm volatile("" ::: "memory") macro 6 #define virt_rmb() barrier() 7 #define virt_wmb() barrier() 13 barrier(); \ 30 #error Please fill in barrier macros
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| A D | map_in_map.c | 11 pthread_barrier_t barrier; member 31 pthread_barrier_wait(&ctx->barrier); in update_map_fn() 39 pthread_barrier_wait(&ctx->barrier); in update_map_fn() 47 pthread_barrier_wait(&ctx->barrier); in update_map_fn() 62 pthread_barrier_wait(&ctx->barrier); in access_map_fn() 67 pthread_barrier_wait(&ctx->barrier); in access_map_fn() 106 pthread_barrier_init(&ctx.barrier, NULL, 2); in test_map_in_map_access()
|
| /linux/tools/build/feature/ |
| A D | test-pthread-barrier.c | 7 pthread_barrier_t barrier; in main() local 9 pthread_barrier_init(&barrier, NULL, 1); in main() 10 pthread_barrier_wait(&barrier); in main() 11 return pthread_barrier_destroy(&barrier); in main()
|
| /linux/arch/x86/include/asm/ |
| A D | barrier.h | 50 #define __dma_rmb() barrier() 51 #define __dma_wmb() barrier() 56 #define __smp_wmb() barrier() 62 barrier(); \ 70 barrier(); \
|
| /linux/drivers/md/dm-vdo/indexer/ |
| A D | sparse-cache.c | 172 sema_init(&barrier->lock, 1); in initialize_threads_barrier() 173 barrier->arrived = 0; in initialize_threads_barrier() 174 barrier->thread_count = thread_count; in initialize_threads_barrier() 175 sema_init(&barrier->wait, 0); in initialize_threads_barrier() 201 __down(&barrier->lock); in enter_threads_barrier() 202 if (++barrier->arrived == barrier->thread_count) { in enter_threads_barrier() 207 up(&barrier->wait); in enter_threads_barrier() 209 barrier->arrived = 0; in enter_threads_barrier() 210 up(&barrier->lock); in enter_threads_barrier() 212 up(&barrier->lock); in enter_threads_barrier() [all …]
|
| /linux/tools/arch/x86/include/asm/ |
| A D | barrier.h | 27 #define smp_rmb() barrier() 28 #define smp_wmb() barrier() 35 barrier(); \ 42 barrier(); \
|
| /linux/tools/testing/selftests/powerpc/dscr/ |
| A D | dscr_explicit_test.c | 92 pthread_barrier_t *barrier; member 103 err = pthread_barrier_wait(args->barrier); in dscr_explicit_random_thread() 136 pthread_barrier_t barrier; in dscr_explicit_random_test() local 140 FAIL_IF(pthread_barrier_init(&barrier, NULL, THREADS)); in dscr_explicit_random_test() 144 threads[i].barrier = &barrier; in dscr_explicit_random_test() 153 FAIL_IF(pthread_barrier_destroy(&barrier)); in dscr_explicit_random_test()
|
| A D | dscr_default_test.c | 76 pthread_barrier_t *barrier; member 88 err = pthread_barrier_wait(args->barrier); in dscr_default_random_thread() 125 pthread_barrier_t barrier; in dscr_default_random_test() local 132 FAIL_IF(pthread_barrier_init(&barrier, NULL, THREADS)); in dscr_default_random_test() 139 threads[i].barrier = &barrier; in dscr_default_random_test() 148 FAIL_IF(pthread_barrier_destroy(&barrier)); in dscr_default_random_test()
|
| /linux/arch/parisc/include/asm/ |
| A D | barrier.h | 22 #define mb() barrier() 23 #define rmb() barrier() 24 #define wmb() barrier() 25 #define dma_rmb() barrier() 26 #define dma_wmb() barrier()
|
| /linux/arch/sparc/include/asm/ |
| A D | barrier_64.h | 44 barrier(); \ 52 barrier(); \ 56 #define __smp_mb__before_atomic() barrier() 57 #define __smp_mb__after_atomic() barrier()
|
| /linux/arch/arm/include/asm/ |
| A D | barrier.h | 70 #define mb() barrier() 71 #define rmb() barrier() 72 #define wmb() barrier() 73 #define dma_rmb() barrier() 74 #define dma_wmb() barrier()
|
| /linux/arch/arm/mach-rpc/ |
| A D | time.c | 37 barrier (); in ioc_timer_read() 39 barrier (); in ioc_timer_read() 41 barrier (); in ioc_timer_read() 43 barrier (); in ioc_timer_read()
|
| /linux/tools/testing/selftests/perf_events/ |
| A D | sigtrap_threads.c | 89 pthread_barrier_t *barrier = (pthread_barrier_t *)arg; in test_thread() local 94 pthread_barrier_wait(barrier); in test_thread() 114 pthread_barrier_t barrier; in FIXTURE() local 137 pthread_barrier_init(&self->barrier, NULL, NUM_THREADS + 1); in FIXTURE_SETUP() 139 ASSERT_EQ(pthread_create(&self->threads[i], NULL, test_thread, &self->barrier), 0); in FIXTURE_SETUP() 144 pthread_barrier_destroy(&self->barrier); in FIXTURE_TEARDOWN() 154 pthread_barrier_wait(&self->barrier); in run_test_threads() 225 pthread_barrier_wait(&self->barrier); in TEST_F()
|
| /linux/Documentation/ |
| A D | memory-barriers.txt | 588 <write barrier> 618 <write barrier> 740 barrier(); 744 barrier(); 753 barrier(); 950 a release barrier, a read barrier, or a general barrier. Similarly a 952 with a write barrier, an acquire barrier, a release barrier, or a 997 <write barrier> \ <read barrier> 1389 <general barrier> <read barrier> 1538 barrier(); [all …]
|