Home
last modified time | relevance | path

Searched full:barriers (Results 1 – 25 of 564) sorted by relevance

12345678910>>...23

/kernel/linux/linux-6.6/Documentation/
Dmemory-barriers.txt2 LINUX KERNEL MEMORY BARRIERS
16 meant as a guide to using the various memory barriers provided by Linux, but
31 (2) to provide a guide as to how to use the barriers that are available.
51 (*) What are memory barriers?
54 - What may not be assumed about memory barriers?
55 - Address-dependency barriers (historical).
59 - Read memory barriers vs load speculation.
62 (*) Explicit kernel barriers.
65 - CPU memory barriers.
67 (*) Implicit kernel memory barriers.
[all …]
Datomic_t.txt54 Barriers:
160 ORDERING (go read memory-barriers.txt first)
188 The barriers:
193 ordering inherent to the op. These barriers act almost like a full smp_mb():
201 These helper barriers exist because architectures have varying implicit
203 provide full ordered atomics and these barriers are no-ops.
/kernel/linux/linux-5.10/Documentation/
Dmemory-barriers.txt2 LINUX KERNEL MEMORY BARRIERS
16 meant as a guide to using the various memory barriers provided by Linux, but
31 (2) to provide a guide as to how to use the barriers that are available.
51 (*) What are memory barriers?
54 - What may not be assumed about memory barriers?
55 - Data dependency barriers (historical).
59 - Read memory barriers vs load speculation.
62 (*) Explicit kernel barriers.
65 - CPU memory barriers.
67 (*) Implicit kernel memory barriers.
[all …]
Datomic_t.txt54 Barriers:
160 ORDERING (go read memory-barriers.txt first)
188 The barriers:
193 ordering inherent to the op. These barriers act almost like a full smp_mb():
201 These helper barriers exist because architectures have varying implicit
203 provide full ordered atomics and these barriers are no-ops.
/kernel/linux/linux-6.6/Documentation/core-api/wrappers/
Dmemory-barriers.rst2 This is a simple wrapper to bring memory-barriers.txt into the RST world
6 Linux kernel memory barriers
13 .. include:: ../../memory-barriers.txt
/kernel/linux/linux-6.6/arch/mips/include/asm/
Dsync.h13 * 1) Completion barriers, which ensure that a memory operation has actually
16 * 2) Ordering barriers, which only ensure that affected memory operations
20 * Ordering barriers can be more efficient than completion barriers, since:
22 * a) Ordering barriers only require memory access instructions which preceed
57 * we're satisfied that lightweight ordering barriers defined by MIPSr6 are
66 * barrier since 2010 & omit 'rmb' barriers because the CPUs don't perform
/kernel/linux/linux-5.10/arch/mips/include/asm/
Dsync.h13 * 1) Completion barriers, which ensure that a memory operation has actually
16 * 2) Ordering barriers, which only ensure that affected memory operations
20 * Ordering barriers can be more efficient than completion barriers, since:
22 * a) Ordering barriers only require memory access instructions which preceed
57 * we're satisfied that lightweight ordering barriers defined by MIPSr6 are
66 * barrier since 2010 & omit 'rmb' barriers because the CPUs don't perform
/kernel/linux/linux-5.10/include/linux/
Dvirtio_ring.h10 * Barriers in virtio are tricky. Non-SMP virtio guests can't assume
12 * barriers. Non-SMP virtio hosts could skip the barriers, but does
20 * CPUs) we do need real barriers. In theory, we could be using both
Datomic.h25 * See Documentation/memory-barriers.txt for ACQUIRE/RELEASE definitions.
36 * barriers on top of the relaxed variant. In the case where the relaxed
37 * variant is already fully ordered, no additional barriers are needed.
/kernel/linux/linux-6.6/include/linux/
Dvirtio_ring.h10 * Barriers in virtio are tricky. Non-SMP virtio guests can't assume
12 * barriers. Non-SMP virtio hosts could skip the barriers, but does
20 * CPUs) we do need real barriers. In theory, we could be using both
Datomic.h25 * See Documentation/memory-barriers.txt for ACQUIRE/RELEASE definitions.
36 * barriers on top of the relaxed variant. In the case where the relaxed
37 * variant is already fully ordered, no additional barriers are needed.
/kernel/linux/linux-5.10/Documentation/core-api/
Datomic_ops.rst84 ``atomic_read()`` and ``atomic_set()`` DO NOT IMPLY BARRIERS!
86 Some architectures may choose to use the volatile keyword, barriers, or
156 and never changed later, so that memory barriers are not needed::
179 Don't even -think- about doing this without proper use of memory barriers,
200 require any explicit memory barriers. They need only perform the
213 include explicit memory barriers that are performed before and after
268 atomic_xchg must provide explicit memory barriers around the operation. ::
277 atomic_cmpxchg must provide explicit memory barriers around the operation,
292 atomic_add_unless must provide explicit memory barriers around the
392 memory barriers in kfree_skb() that exposed the atomic_t memory barrier
[all …]
Dcircular-buffers.rst15 (2) Memory barriers for when the producer and the consumer of objects in the
29 (*) Using memory barriers with circular buffers.
134 Using memory barriers with circular buffers
137 By using memory barriers in conjunction with circular buffers, you can avoid
236 See also Documentation/memory-barriers.txt for a description of Linux's memory
/kernel/linux/linux-6.6/tools/memory-model/Documentation/
Dordering.txt11 1. Barriers (also known as "fences"). A barrier orders some or
30 Barriers
33 Each of the following categories of barriers is described in its own
36 a. Full memory barriers.
38 b. Read-modify-write (RMW) ordering augmentation barriers.
55 Full Memory Barriers
126 RMW Ordering Augmentation Barriers
238 Note that the barriers discussed previously use barrier() or its low-level
265 improved readability and performance compared to explicit barriers.
324 and readability compared to explicit barriers. For example, use of
[all …]
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/benchs/
Dbench_htab_mem.c106 pthread_barrier_t *barriers; in htab_mem_bench_init_barriers() local
113 barriers = calloc(nr, sizeof(*barriers)); in htab_mem_bench_init_barriers()
114 if (!barriers) in htab_mem_bench_init_barriers()
119 pthread_barrier_init(&barriers[i], NULL, 2); in htab_mem_bench_init_barriers()
121 ctx.notify = barriers; in htab_mem_bench_init_barriers()
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/gt/
Dselftest_context.c70 /* Wait for all barriers to complete (remote CPU) before we check */ in context_sync()
214 * In GuC submission mode we don't use idle barriers and we instead in __live_active_context()
270 /* Now make sure our idle-barriers are flushed */ in __live_active_context()
291 "%s is still awake:%d after idle-barriers\n", in __live_active_context()
362 * Check that our idle barriers do not interfere with normal in __live_remote_context()
368 * In GuC submission mode we don't use idle barriers. in __live_remote_context()
/kernel/linux/linux-5.10/include/asm-generic/bitops/
Dinstrumented-atomic.h21 * This is a relaxed atomic operation (no implied memory barriers).
37 * This is a relaxed atomic operation (no implied memory barriers).
50 * This is a relaxed atomic operation (no implied memory barriers).
/kernel/linux/linux-6.6/Documentation/translations/sp_SP/wrappers/
Dmemory-barriers.rst2 This is a simple wrapper to bring memory-barriers.txt (Spanish
14 .. include:: ../memory-barriers.txt
/kernel/linux/linux-6.6/include/asm-generic/bitops/
Dinstrumented-atomic.h21 * This is a relaxed atomic operation (no implied memory barriers).
37 * This is a relaxed atomic operation (no implied memory barriers).
50 * This is a relaxed atomic operation (no implied memory barriers).
/kernel/linux/linux-5.10/Documentation/staging/
Dindex.rst46 Memory Barriers
53 .. include:: ../memory-barriers.txt
/kernel/linux/linux-6.6/Documentation/core-api/
Dcircular-buffers.rst15 (2) Memory barriers for when the producer and the consumer of objects in the
29 (*) Using memory barriers with circular buffers.
134 Using memory barriers with circular buffers
137 By using memory barriers in conjunction with circular buffers, you can avoid
236 See also Documentation/memory-barriers.txt for a description of Linux's memory
/kernel/linux/linux-5.10/Documentation/virt/kvm/
Dvcpu-requests.rst177 [memory-barriers]_.
180 the memory barriers, allowing this requirement to be handled internally by
203 This solution also requires memory barriers to be placed carefully in both
204 the requesting thread and the receiving VCPU. With the memory barriers we
306 .. [memory-barriers] Documentation/memory-barriers.txt
/kernel/linux/linux-5.10/kernel/sched/
Dmembarrier.c116 * Matches memory barriers around rq->curr modification in in membarrier_global_expedited()
167 * waiting for the last IPI. Matches memory barriers around in membarrier_global_expedited()
208 * Matches memory barriers around rq->curr modification in in membarrier_private_expedited()
285 * waiting for the last IPI. Matches memory barriers around in membarrier_private_expedited()
415 * sys_membarrier - issue memory barriers on a set of threads
439 * smp_mb() to represent explicit memory barriers forcing full memory
/kernel/linux/linux-6.6/Documentation/virt/kvm/
Dvcpu-requests.rst179 [memory-barriers]_.
182 the memory barriers, allowing this requirement to be handled internally by
205 This solution also requires memory barriers to be placed carefully in both
206 the requesting thread and the receiving VCPU. With the memory barriers we
293 .. [memory-barriers] Documentation/memory-barriers.txt
/kernel/linux/linux-6.6/tools/virtio/asm/
Dbarrier.h15 /* Weak barriers should be used. If not - it's a bug */
25 /* Weak barriers should be used. If not - it's a bug */

12345678910>>...23