Home
last modified time | relevance | path

Searched full:smp_mb (Results 1 – 25 of 303) sorted by relevance

12345678910>>...13

/linux/kernel/sched/
H A Dmembarrier.c30 * a: smp_mb()
32 * c: smp_mb()
69 * a: smp_mb()
71 * c: smp_mb()
89 * a: smp_mb()
93 * c: smp_mb()
109 * a: smp_mb()
111 * d: smp_mb()
114 * c: smp_mb()
123 * a: smp_mb()
[all …]
H A Dwait.c423 * smp_mb(); // A try_to_wake_up():
428 * smp_mb(); // B condition = true;
429 * } smp_mb(); // C
435 * The below executes an smp_mb(), which matches with the full barrier in wait_woken()
446 * The below executes an smp_mb(), which matches with the smp_mb() (C) in wait_woken()
460 smp_mb(); /* C */ in woken_wake_function()
/linux/arch/arc/include/asm/
H A Dspinlock.h40 smp_mb(); in arch_spin_lock()
62 smp_mb(); in arch_spin_trylock()
69 smp_mb(); in arch_spin_unlock()
105 smp_mb(); in arch_read_lock()
129 smp_mb(); in arch_read_trylock()
163 smp_mb(); in arch_write_lock()
188 smp_mb(); in arch_write_trylock()
197 smp_mb(); in arch_read_unlock()
215 smp_mb(); in arch_write_unlock()
227 * Per lkmm, smp_mb() is only required after _lock (and before_unlock) in arch_spin_lock()
[all …]
H A Datomic64-arcv2.h163 smp_mb(); in arch_atomic64_xchg()
172 : "cc"); /* memory clobber comes from smp_mb() */ in arch_atomic64_xchg()
174 smp_mb(); in arch_atomic64_xchg()
184 smp_mb(); in arch_atomic64_dec_if_positive()
196 : "cc"); /* memory clobber comes from smp_mb() */ in arch_atomic64_dec_if_positive()
198 smp_mb(); in arch_atomic64_dec_if_positive()
208 smp_mb(); in arch_atomic64_fetch_add_unless()
222 : "cc"); /* memory clobber comes from smp_mb() */ in arch_atomic64_fetch_add_unless()
224 smp_mb(); in arch_atomic64_fetch_add_unless()
H A Dfutex.h20 smp_mb(); \
42 smp_mb() \
48 smp_mb(); \
69 smp_mb() \
133 smp_mb(); in futex_atomic_cmpxchg_inatomic()
160 smp_mb(); in futex_atomic_cmpxchg_inatomic()
/linux/arch/alpha/include/asm/
H A Datomic.h19 * _release atomics, an smp_mb() is unconditionally inserted into the
72 smp_mb(); \
90 smp_mb(); \
126 smp_mb(); \
145 smp_mb(); \
206 smp_mb(); in ATOMIC_OPS()
221 smp_mb(); in ATOMIC_OPS()
229 smp_mb(); in arch_atomic64_fetch_add_unless()
244 smp_mb(); in arch_atomic64_fetch_add_unless()
252 smp_mb(); in arch_atomic64_dec_if_positive()
[all …]
/linux/arch/arm/include/asm/
H A Dspinlock.h78 smp_mb(); in arch_spin_lock()
100 smp_mb(); in arch_spin_trylock()
109 smp_mb(); in arch_spin_unlock()
155 smp_mb(); in arch_write_lock()
175 smp_mb(); in arch_write_trylock()
184 smp_mb(); in arch_write_unlock()
224 smp_mb(); in arch_read_lock()
231 smp_mb(); in arch_read_unlock()
266 smp_mb(); in arch_read_trylock()
H A Datomic.h133 smp_mb(); in arch_atomic_fetch_add_unless()
150 smp_mb(); in arch_atomic_fetch_add_unless()
459 smp_mb(); in arch_atomic64_dec_if_positive()
476 smp_mb(); in arch_atomic64_dec_if_positive()
487 smp_mb(); in arch_atomic64_fetch_add_unless()
506 smp_mb(); in arch_atomic64_fetch_add_unless()
/linux/tools/memory-model/litmus-tests/
H A DIRIW+fencembonceonces+OnceOnce.litmus6 * Test of independent reads from independent writes with smp_mb()
7 * between each pairs of reads. In other words, is smp_mb() sufficient to
26 smp_mb();
41 smp_mb();
H A DREADME24 Test of independent reads from independent writes with smp_mb()
25 between each pairs of reads. In other words, is smp_mb()
41 separated by smp_mb(). This addition of an external process to
53 Does a control dependency and an smp_mb() suffice for the
109 This is the fully ordered (via smp_mb()) version of one of
114 As above, but without the smp_mb() invocations.
117 This is the fully ordered (again, via smp_mb() version of store
122 As above, but without the smp_mb() invocations.
H A DR+fencembonceonces.litmus6 * This is the fully ordered (via smp_mb()) version of one of the classic
17 smp_mb();
26 smp_mb();
H A DSB+fencembonceonces.litmus19 smp_mb();
28 smp_mb();
/linux/tools/memory-model/Documentation/
H A Drecipes.txt153 smp_mb();
187 smp_mb();
341 * smp_wmb() (B) smp_mb() (D)
348 Of course, given that smp_mb() is strictly stronger than either smp_wmb()
350 smp_wmb() would also work with smp_mb() replacing either or both of the
378 smp_mb();
396 * smp_wmb() (B) smp_mb() (D)
461 smp_mb();
487 smp_mb();
494 smp_mb();
[all …]
H A Dglossary.txt77 smp_mb(); smp_mb(); smp_mb();
80 CPU 0's smp_mb() interacts with that of CPU 1, which interacts
82 to complete the cycle. Because of the smp_mb() calls between
117 Fully Ordered: An operation such as smp_mb() that orders all of
H A Dordering.txt51 smp_mb(), use mb(). See the "Linux Kernel Device Drivers" book or the
60 o The smp_mb() full memory barrier.
67 First, the smp_mb() full memory barrier orders all of the CPU's prior
74 smp_mb(); // Order store to x before load from y.
116 of magnitude greater overhead than smp_mb(), atomic_xchg(), and so on.
133 all architectures is to add a call to smp_mb():
137 smp_mb(); // Inefficient on x86!!!
140 This works, but the added smp_mb() adds needless overhead for
279 ordering, and an smp_mb() would be needed instead:
282 smp_mb();
[all …]
/linux/tools/include/asm/
H A Dbarrier.h46 #ifndef smp_mb
47 # define smp_mb() mb() macro
53 smp_mb(); \
62 smp_mb(); \
/linux/tools/include/linux/
H A Dring_buffer.h20 * smp_wmb() (B) smp_mb() (D)
42 * resolve into READ_ONCE() + smp_mb() pair for smp_load_acquire(),
43 * and smp_mb() + WRITE_ONCE() pair for smp_store_release().
55 * READ_ONCE() + smp_mb() pair. in ring_buffer_read_head()
/linux/tools/testing/selftests/bpf/
H A Dbpf_atomic.h62 #define smp_mb() \ macro
71 smp_mb(); \
79 smp_mb(); \
91 smp_mb(); \
99 smp_mb(); \
/linux/include/asm-generic/
H A Dbarrier.h98 #ifndef smp_mb
99 #define smp_mb() do { kcsan_mb(); __smp_mb(); } while (0) macro
112 #ifndef smp_mb
113 #define smp_mb() barrier() macro
298 * Architectures that guarantee an implicit smp_mb() in switch_mm()
302 # define smp_mb__after_switch_mm() smp_mb()
/linux/include/linux/
H A Dswait.h100 * with an extra smp_mb() like:
106 * smp_mb(); // smp_mb() from set_current_state()
113 * Because without the explicit smp_mb() it's possible for the
118 * Also note that this 'optimization' trades a spin_lock() for an smp_mb(),
143 smp_mb(); in swq_has_sleeper()
/linux/rust/kernel/sync/
H A Dbarrier.rs26 pub fn smp_mb() { in smp_mb() function
28 // SAFETY: `smp_mb()` is safe to call. in smp_mb()
29 unsafe { bindings::smp_mb() }; in smp_mb()
/linux/tools/virtio/ringtest/
H A Dmain.h117 #define smp_mb() asm volatile("lock; addl $0,-132(%%rsp)" ::: "memory", "cc") macro
119 #define smp_mb() asm volatile("dmb ish" ::: "memory") macro
125 #define smp_mb() __sync_synchronize() macro
188 smp_mb(); /* Enforce dependency ordering from x */ \
H A Dring.c183 smp_mb(); in enable_call()
193 smp_mb(); in kick_available()
215 smp_mb(); in enable_kick()
260 smp_mb(); in call_used()
/linux/drivers/comedi/drivers/
H A Ddyna_pci10xx.c80 smp_mb(); in dyna_pci10xx_insn_read_ai()
111 smp_mb(); in dyna_pci10xx_insn_write_ao()
130 smp_mb(); in dyna_pci10xx_di_insn_bits()
150 smp_mb(); in dyna_pci10xx_do_insn_bits()
/linux/arch/sh/kernel/
H A Dftrace.c137 smp_mb(); in arch_ftrace_nmi_enter()
143 smp_mb(); in arch_ftrace_nmi_exit()
174 smp_mb(); in do_ftrace_mod_code()
179 smp_mb(); in do_ftrace_mod_code()
184 smp_mb(); in do_ftrace_mod_code()

12345678910>>...13