Home
last modified time | relevance | path

Searched refs:barrier (Results 1 – 25 of 338) sorted by relevance

12345678910>>...14

/linux/include/linux/
H A Dspinlock_up.h32 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 …]
/linux/arch/arm64/include/asm/
H A Dirqflags.h25 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 …]
H A Dhardirq.h51 barrier(); \
57 barrier(); \
75 barrier(); \
83 barrier(); \
/linux/Documentation/scheduler/
H A Dmembarrier.rst14 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/
H A Dmain.h92 #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/tools/testing/selftests/futex/functional/
H A Drobust_list.c45 static pthread_barrier_t barrier, barrier2; variable
189 pthread_barrier_wait(&barrier); in child_fn_lock()
221 ret = pthread_barrier_init(&barrier, NULL, 2); in TEST()
227 pthread_barrier_wait(&barrier); in TEST()
239 pthread_barrier_destroy(&barrier); in TEST()
316 pthread_barrier_wait(&barrier); in child_list()
336 ret = pthread_barrier_init(&barrier, NULL, 2); in TEST()
343 pthread_barrier_wait(&barrier); in TEST()
352 pthread_barrier_destroy(&barrier); in TEST()
378 pthread_barrier_wait(&barrier); in child_fn_lock_with_error()
[all …]
/linux/arch/s390/include/asm/
H A Dbarrier.h32 #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/
H A Dbarrier.h61 #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/arch/powerpc/kernel/
H A Dsmp-tbsync.c53 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/
H A Dirqflags.h35 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/
H A Dbarrier.h4 #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/drivers/md/dm-vdo/indexer/
H A Dsparse-cache.c169 static void initialize_threads_barrier(struct threads_barrier *barrier, in initialize_threads_barrier() argument
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()
199 static void enter_threads_barrier(struct threads_barrier *barrier) in enter_threads_barrier() argument
201 __down(&barrier->lock); in enter_threads_barrier()
202 if (++barrier->arrived == barrier->thread_count) { in enter_threads_barrier()
206 for (i = 1; i < barrier->thread_count; i++) in enter_threads_barrier()
207 up(&barrier->wait); in enter_threads_barrier()
[all …]
/linux/tools/build/feature/
H A Dtest-pthread-barrier.c7 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/tools/testing/selftests/powerpc/dscr/
H A Ddscr_explicit_test.c92 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()
H A Ddscr_default_test.c76 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/rust/kernel/sync/
H A Dbarrier.rs14 pub(crate) fn barrier() { in barrier() function
31 barrier(); in smp_mb()
45 barrier(); in smp_wmb()
59 barrier(); in smp_rmb()
/linux/arch/parisc/include/asm/
H A Dbarrier.h22 #define mb() barrier()
23 #define rmb() barrier()
24 #define wmb() barrier()
25 #define dma_rmb() barrier()
26 #define dma_wmb() barrier()
/linux/tools/arch/x86/include/asm/
H A Dbarrier.h27 #define smp_rmb() barrier()
28 #define smp_wmb() barrier()
35 barrier(); \
42 barrier(); \
/linux/arch/sparc/include/asm/
H A Dbarrier_64.h44 barrier(); \
52 barrier(); \
56 #define __smp_mb__before_atomic() barrier()
57 #define __smp_mb__after_atomic() barrier()
/linux/tools/testing/selftests/vfio/
H A Dvfio_pci_device_init_perf_test.c22 pthread_barrier_t *barrier; member
27 pthread_barrier_t barrier; in FIXTURE() local
51 pthread_barrier_init(&self->barrier, NULL, nr_devices); in FIXTURE_SETUP()
55 self->thread_args[i].barrier = &self->barrier; in FIXTURE_SETUP()
102 pthread_barrier_wait(args->barrier); in thread_main()
108 pthread_barrier_wait(args->barrier); in thread_main()
/linux/arch/arm/include/asm/
H A Dbarrier.h70 #define mb() barrier()
71 #define rmb() barrier()
72 #define wmb() barrier()
73 #define dma_rmb() barrier()
74 #define dma_wmb() barrier()
/linux/Documentation/
H A Dmemory-barriers.txt29 particular barrier, and
34 for any particular barrier, but if the architecture provides less than
37 Note also that it is possible that a barrier may be a no-op for an
38 architecture because the way that arch works renders an explicit barrier
53 - Varieties of memory barrier.
57 - SMP barrier pairing.
58 - Examples of memory barrier sequences.
64 - Compiler barrier.
74 (*) Inter-CPU acquiring barrier effects.
85 (*) Kernel I/O barrier effects.
[all …]
/linux/tools/testing/selftests/perf_events/
H A Dsigtrap_threads.c89 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/arch/arm/mach-rpc/
H A Dtime.c37 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/bpf/progs/
H A Dloop5.c20 barrier(); in while_true()
23 barrier(); in while_true()
26 barrier(); in while_true()

12345678910>>...14