Lines Matching full:fence

53  * smp_mb__after_unlock_lock() fence only affects a single lock handover.
58 * to the CPU that executes the fence. Therefore, all those stores are
59 * also affected by the fence.
65 let strong-fence = mb | gp
67 let nonrw-fence = strong-fence | po-rel | acq-po
68 let fence = nonrw-fence | wmb | rmb
95 let ppo = to-r | to-w | (fence & int) | (po-unlock-lock-po & int)
100 let cumul-fence = [Marked] ; (A-cumul(strong-fence | po-rel) | wmb |
102 let prop = [Marked] ; (overwrite & ext)? ; cumul-fence* ;
113 (* Write and fence propagation ordering *)
116 (* Propagation: Each non-rf link needs a strong fence. *)
117 let pb = prop ; strong-fence ; hb* ; [Marked]
129 * In the definition of rcu-fence below, the po term at the left-hand side
140 * The synchronize_rcu() strong fence is special in that it can order not
149 * inter-CPU strong fence.
164 let rcu-fence = po ; rcu-order ; po?
165 let fence = fence | rcu-fence
166 let strong-fence = strong-fence | rcu-fence
169 let rb = prop ; rcu-fence ; hb* ; pb* ; [Marked]
193 let vis = cumul-fence* ; rfe? ; [Marked] ;
194 ((strong-fence ; [Marked] ; xbstar) | (xbstar & int))
197 let w-pre-bounded = [Marked] ; (addr | fence)?
198 let r-pre-bounded = [Marked] ; (addr | nonrw-fence |
200 let w-post-bounded = fence? ; [Marked] ; rmw-sequence
201 let r-post-bounded = (nonrw-fence | ([~Noreturn] ; fencerel(Rmb) ; [R4rmb]))? ;
205 let ww-vis = fence | (strong-fence ; xbstar ; w-pre-bounded) |
207 let wr-vis = fence | (strong-fence ; xbstar ; r-pre-bounded) |
209 let rw-xbstar = fence | (r-post-bounded ; xbstar ; w-pre-bounded)