Home
last modified time | relevance | path

Searched full:barrier (Results 1 – 25 of 1429) sorted by relevance

12345678910>>...58

/OK3568_Linux_fs/external/xserver/test/
H A Dfixes.c37 _fixes_test_direction(struct PointerBarrier *barrier, int d[4], int permitted) in _fixes_test_direction() argument
43 barrier->directions = 0; in _fixes_test_direction()
44 blocking = barrier_is_blocking_direction(barrier, dir); in _fixes_test_direction()
49 barrier->directions |= 1 << i; in _fixes_test_direction()
50 blocking = barrier_is_blocking_direction(barrier, dir); in _fixes_test_direction()
51 assert((barrier->directions & permitted) == in _fixes_test_direction()
61 struct PointerBarrier barrier; in fixes_pointer_barrier_direction_test() local
77 barrier.x1 = x; in fixes_pointer_barrier_direction_test()
78 barrier.x2 = x; in fixes_pointer_barrier_direction_test()
79 barrier.y1 = y - 50; in fixes_pointer_barrier_direction_test()
[all …]
/OK3568_Linux_fs/external/xserver/Xi/
H A Dxibarriers.c84 struct PointerBarrier barrier; member
86 /* num_devices/device_ids are devices the barrier applies to */
144 barrier_is_horizontal(const struct PointerBarrier *barrier) in barrier_is_horizontal() argument
146 return barrier->y1 == barrier->y2; in barrier_is_horizontal()
150 barrier_is_vertical(const struct PointerBarrier *barrier) in barrier_is_vertical() argument
152 return barrier->x1 == barrier->x2; in barrier_is_vertical()
156 * @return The set of barrier movement directions the movement vector
178 * Test if the barrier may block movement in the direction defined by
180 * blocked, it does not test if the barrier actually blocks the movement.
182 * @return TRUE if the barrier blocks the direction of movement or FALSE
[all …]
/OK3568_Linux_fs/external/xserver/hw/dmx/glxProxy/
H A Dglxswap.c46 static Bool SwapBarrierIsReadyToSwap(GLuint barrier);
47 static void SwapSwapBarrier(GLuint barrier);
48 static void UpdateSwapBarrierList(GLuint barrier,
63 GLuint barrier; member
141 if (pSwap->barrier && SwapBarrierIsReadyToSwap(pSwap->barrier)) { in SGSwapBuffers()
142 /* The swap group is bound to a barrier and the barrier is ready in SGSwapBuffers()
144 * group's swap barrier */ in SGSwapBuffers()
145 SwapSwapBarrier(pSwap->barrier); in SGSwapBuffers()
147 else if (!pSwap->barrier && SwapGroupIsReadyToSwap(pSwap)) { in SGSwapBuffers()
149 * group is not bound to a swap barrier */ in SGSwapBuffers()
[all …]
/OK3568_Linux_fs/kernel/tools/include/asm/
H A Dbarrier.h4 #include "../../arch/x86/include/asm/barrier.h"
6 #include "../../arch/arm/include/asm/barrier.h"
8 #include "../../arch/arm64/include/asm/barrier.h"
10 #include "../../arch/powerpc/include/asm/barrier.h"
12 #include "../../arch/s390/include/asm/barrier.h"
14 #include "../../arch/sh/include/asm/barrier.h"
16 #include "../../arch/sparc/include/asm/barrier.h"
18 #include "../../arch/tile/include/asm/barrier.h"
20 #include "../../arch/alpha/include/asm/barrier.h"
22 #include "../../arch/mips/include/asm/barrier.h"
[all …]
/OK3568_Linux_fs/kernel/include/linux/
H A Dspinlock_up.h9 #include <asm/barrier.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)
[all …]
H A Dpreempt.h172 barrier(); \
177 barrier(); \
188 barrier(); \
195 barrier(); \
209 barrier(); \
215 barrier(); \
225 barrier(); \
230 barrier(); \
242 #define preempt_disable() barrier()
243 #define sched_preempt_enable_no_resched() barrier()
[all …]
/OK3568_Linux_fs/kernel/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 …]
/OK3568_Linux_fs/kernel/arch/mips/include/asm/
H A Dsync.h11 * Two types of barrier are provided:
18 * restrictions imposed by the barrier.
31 * b) Multiple variants of ordering barrier are provided which allow the
34 * than a barrier are observed prior to stores that are younger than a
35 * barrier & don't care about the ordering of loads then the 'wmb'
36 * ordering barrier can be used. Limiting the barrier's effects to stores
49 * A full completion barrier; all memory accesses appearing prior to this sync
56 * For now we use a full completion barrier to implement all sync types, until
66 * barrier since 2010 & omit 'rmb' barriers because the CPUs don't perform
104 * don't implicitly provide a memory barrier. In general this is most MIPS
[all …]
/OK3568_Linux_fs/kernel/arch/sparc/include/asm/
H A Dbarrier_64.h6 * #51. Essentially, if a memory barrier occurs soon after a mispredicted
10 * It used to be believed that the memory barrier had to be right in the
11 * delay slot, but a case has been traced recently wherein the memory barrier
23 * the memory barrier explicitly into a "branch always, predicted taken"
44 barrier(); \
52 barrier(); \
56 #define __smp_mb__before_atomic() barrier()
57 #define __smp_mb__after_atomic() barrier()
59 #include <asm-generic/barrier.h>
/OK3568_Linux_fs/kernel/tools/virtio/ringtest/
H A Dmain.h90 /* Compiler barrier - similar to what Linux uses */
91 #define barrier() asm volatile("" ::: "memory") macro
97 #define cpu_relax() barrier()
110 barrier(); in busy_wait()
125 * adds a compiler barrier.
128 barrier(); \
134 barrier(); \
138 #define smp_wmb() barrier()
158 barrier(); \ in __read_once_size()
160 barrier(); \ in __read_once_size()
[all …]
H A Dvirtio_ring_0_9.c133 /* Barrier A (for pairing) */ in add_inbuf()
140 /* Barrier A (for pairing) */ in add_inbuf()
145 /* Barrier A (for pairing) */ in add_inbuf()
163 /* Barrier B (for pairing) */ in get_buf()
169 /* Barrier B (for pairing) */ in get_buf()
221 /* Barrier D (for pairing) */ in enable_call()
231 /* Barrier C (for pairing) */ in kick_available()
253 /* Barrier C (for pairing) */ in enable_kick()
280 /* Barrier A (for pairing) */ in use_buf()
289 /* Barrier A (for pairing) */ in use_buf()
[all …]
H A Dring.c130 * add an explicit full barrier to avoid this. in add_inbuf()
132 barrier(); in add_inbuf()
136 /* Barrier A (for pairing) */ in add_inbuf()
151 /* Barrier B (for pairing) */ in get_buf()
182 /* Barrier D (for pairing) */ in enable_call()
192 /* Barrier C (for pairing) */ in kick_available()
214 /* Barrier C (for pairing) */ in enable_kick()
234 /* Barrier A (for pairing) */ in use_buf()
247 /* Barrier B (for pairing) */ in use_buf()
259 /* Barrier D (for pairing) */ in call_used()
/OK3568_Linux_fs/kernel/include/asm-generic/
H A Dbarrier.h3 * Generic barrier definitions.
31 #define mb() barrier()
79 #define smp_mb() barrier()
83 #define smp_rmb() barrier()
87 #define smp_wmb() barrier()
148 #define smp_store_mb(var, value) do { WRITE_ONCE(var, value); barrier(); } while (0)
152 #define smp_mb__before_atomic() barrier()
156 #define smp_mb__after_atomic() barrier()
163 barrier(); \
173 barrier(); \
[all …]
/OK3568_Linux_fs/kernel/arch/csky/include/asm/
H A Dbarrier.h12 * sync: completion barrier, all sync.xx instructions
19 * bar.brwarw: ordering barrier for all load/store instructions before it
20 * bar.brwarws: ordering barrier for all load/store instructions before it
22 * bar.brar: ordering barrier for all load instructions before it
23 * bar.brars: ordering barrier for all load instructions before it
25 * bar.bwaw: ordering barrier for all store instructions before it
26 * bar.bwaws: ordering barrier for all store instructions before it
45 #include <asm-generic/barrier.h>
/OK3568_Linux_fs/kernel/Documentation/core-api/
H A Datomic_ops.rst44 proper implicit or explicit read memory barrier is needed before reading the
65 or explicit memory barrier is needed before the value set with the operation
75 implicit or explicit memory barrier is used after possible runtime
80 barrier.
92 appropriate compiler and/or memory barrier for each use case. Failure
124 Alternatively, you could place a barrier() call in the loop.
184 ``READ_ONCE()`` OR ``WRITE_ONCE()`` DO NOT IMPLY A BARRIER!
222 memory barrier semantics which satisfy the above requirements, that is
232 This means that like atomic_{inc,dec}_return(), the memory barrier
244 Again, these primitives provide explicit memory barrier semantics around
[all …]
/OK3568_Linux_fs/kernel/arch/mips/mm/
H A Dtlb-r3k.c32 #define BARRIER \ macro
51 entry++; /* BARRIER */ in local_flush_tlb_from()
96 start += PAGE_SIZE; /* BARRIER */ in local_flush_tlb_range()
101 if (idx < 0) /* BARRIER */ in local_flush_tlb_range()
133 start += PAGE_SIZE; /* BARRIER */ in local_flush_tlb_kernel_range()
138 if (idx < 0) /* BARRIER */ in local_flush_tlb_kernel_range()
166 BARRIER; in local_flush_tlb_page()
171 if (idx < 0) /* BARRIER */ in local_flush_tlb_page()
205 BARRIER; in __update_tlb()
210 if (idx < 0) { /* BARRIER */ in __update_tlb()
[all …]
/OK3568_Linux_fs/kernel/arch/s390/include/asm/
H A Dbarrier.h26 #define rmb() barrier()
27 #define wmb() barrier()
37 barrier(); \
45 barrier(); \
49 #define __smp_mb__before_atomic() barrier()
50 #define __smp_mb__after_atomic() barrier()
76 #include <asm-generic/barrier.h>
/OK3568_Linux_fs/kernel/arch/powerpc/kernel/
H A Dsecurity.c55 * functions as a barrier), but on which the hypervisor (KVM/Qemu) has in setup_barrier_nospec()
56 * not been updated, we would like to enable the barrier. Dropping the in setup_barrier_nospec()
58 * we potentially enable the barrier on systems where the host firmware in setup_barrier_nospec()
191 seq_buf_printf(&s, ", ori31 speculation barrier enabled"); in cpu_show_spectre_v1()
248 * Store-forwarding barrier support.
257 pr_info("stf-barrier: disabled on command line."); in handle_no_stf_barrier()
273 /* Until firmware tells us, we have the barrier with auto */ in handle_ssbd()
325 pr_info("stf-barrier: fallback barrier available\n"); in setup_stf_barrier()
327 pr_info("stf-barrier: hwsync barrier available\n"); in setup_stf_barrier()
329 pr_info("stf-barrier: eieio barrier available\n"); in setup_stf_barrier()
[all …]
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()
/OK3568_Linux_fs/u-boot/include/linux/
H A Dcompiler-intel.h16 #undef barrier
21 #define barrier() __memory_barrier() macro
22 #define barrier_data(ptr) barrier()
29 /* This should act as an optimization barrier on var.
30 * Given that this compiler does not have inline assembly, a compiler barrier
33 #define OPTIMIZER_HIDE_VAR(var) barrier()
/OK3568_Linux_fs/kernel/arch/x86/include/asm/
H A Dbarrier.h51 /* Prevent speculative execution past this barrier. */
54 #define dma_rmb() barrier()
55 #define dma_wmb() barrier()
63 #define __smp_wmb() barrier()
69 barrier(); \
77 barrier(); \
85 #include <asm-generic/barrier.h>
97 * do not require this barrier. This is only required for the
/OK3568_Linux_fs/kernel/arch/ia64/include/asm/
H A Dbarrier.h3 * Memory barrier definitions. This is based on information published
48 #define __smp_mb__before_atomic() barrier()
49 #define __smp_mb__after_atomic() barrier()
59 barrier(); \
67 barrier(); \
72 * The group barrier in front of the rsm & ssm are necessary to ensure
77 #include <asm-generic/barrier.h>
/OK3568_Linux_fs/kernel/arch/arc/include/asm/
H A Dbarrier.h15 * Explicit barrier provided by DMB instruction
19 * - DMB guarantees SMP as well as local barrier semantics
20 * (asm-generic/barrier.h ensures sane smp_*mb if not defined here, i.e.
21 * UP: barrier(), SMP: smp_*mb == *mb)
23 * in the general case. Plus it only provides full barrier.
42 #include <asm-generic/barrier.h>
/OK3568_Linux_fs/kernel/tools/arch/sparc/include/asm/
H A Dbarrier_64.h8 * #51. Essentially, if a memory barrier occurs soon after a mispredicted
12 * It used to be believed that the memory barrier had to be right in the
13 * delay slot, but a case has been traced recently wherein the memory barrier
25 * the memory barrier explicitly into a "branch always, predicted taken"
45 barrier(); \
52 barrier(); \
/OK3568_Linux_fs/kernel/kernel/sched/
H A Dmembarrier.c81 * Issue a memory barrier after setting in ipi_sync_rq_state()
92 * Issue a memory barrier before clearing membarrier_state to in membarrier_exec_mmap()
163 * Memory barrier on the caller thread _after_ we finished in membarrier_global_expedited()
250 * and the new cpu will execute a full barrier in the in membarrier_private_expedited()
253 * For SYNC_CORE, we do need a barrier on the current cpu -- in membarrier_private_expedited()
278 * Memory barrier on the caller thread _after_ we finished in membarrier_private_expedited()
297 * For single mm user, we can simply issue a memory barrier in sync_runqueues_membarrier_state()
428 * the semantic "barrier()" to represent a compiler barrier forcing memory
429 * accesses to be performed in program order across the barrier, and
431 * ordering across the barrier, we have the following ordering table for
[all …]

12345678910>>...58