Lines Matching full:p0
115 P0()
131 Here the P0() function represents the interrupt handler running on one
134 Thus, P0 stores the data in buf and then sets flag. Meanwhile, P1
162 instance, P1 might run entirely before P0 begins, in which case r1 and
163 r2 will both be 0 at the end. Or P0 might run entirely before P1
167 routines run concurrently. One possibility is that P1 runs after P0's
196 Since r1 = 1, P0 must store 1 to flag before P1 loads 1 from
202 P1 must load 0 from buf before P0 stores 1 to it; otherwise r2
206 P0 stores 1 to buf before storing 1 to flag, since it executes
209 Since an instruction (in this case, P0's store to flag) cannot
227 P0()
270 W: P0 stores 1 to flag executes before
273 Z: P0 stores 1 to buf executes before
274 W: P0 stores 1 to flag.
368 that in the MP example, the compiler won't reorder P0's write event to
369 buf and P0's write event to flag, and similarly for the other shared
563 P0()
576 from the value stored by P0).
586 P0()
600 from both of P0's stores. It is possible to handle mixed-size and
665 P0()
679 P0()
695 P0()
708 If r1 = 5 (reading from P0's store) and r2 = 0 (reading from the
747 P0()
1133 P0()
1154 smp_wmb() forces P0's store to x to propagate to P1 before the store
1254 P0()
1267 If r1 = 8 at the end then P0's accesses must have executed in program
1268 order. We can deduce this from the operational model; if P0's load
1271 8. In this case there is a prop link from P0's write event to its read
1272 event, because P1's store came after P0's store in x's coherence
1273 order, and P1's store propagated to P0 before P0's load executed.
1280 P0()
1293 If r1 = 0 and r2 = 9 at the end then P0's accesses must have executed
1295 then the x = 9 store must have been propagated to P0 before the first
1297 case there is a prop link from P0's first read event to its second,
1298 because P1's store overwrote the value read by P0's first load, and
1299 P1's store propagated to P0 before P0's second load executed.
1307 P0()
1327 overwritten by P0's store to buf, the fence guarantees that the store
1358 P0()
1382 link from P0's store to its load. This is because P0's store gets
1387 guarantees that the stores to x and y both propagate to P0 before the
1388 store to z does (the second cumul-fence), and P0's load executes after the
1389 store to z has propagated to P0 (an rfe link).
1445 P0()
1463 If r0 = 0 at the end then there is a pb link from P0's load to P1's
1464 load: an fre link from P0's load to P1's store (which overwrites the
1465 value read by P0), and a strong fence between P1's store and its load.
1471 to P0's. This means that if both r1 and r2 were 0 there would be a
1515 P0()
1534 means that P0's store to x propagated to P1 before P1 called
1535 synchronize_rcu(), so P0's critical section must have started before
1537 other hand, r2 = 0 means that P0's store to y, which occurs before the
1725 P0()
1743 If r2 = 0 at the end then P0's store at Y overwrites the value that
1748 If r1 = 1 at the end then P1's load at Z reads from P0's store at X,
1761 P0()
1798 P0 P1 P2
1813 This requires P0 and P2 to execute their loads and stores out of
1816 section in P0 both starts before P1's grace period does and ends
1878 P0()
1903 fences, only to lock-related operations. For instance, suppose P0()
1906 P0()
1935 P0()
1962 the spin_unlock() in P0. Hence the store to x must propagate to P2
1965 propagated in either order. (On the other hand, if the code in P0 and
1998 P0()
2015 P1's store to x propagates to P0 before P0's load from x executes.
2016 But since P0's load from x is a plain access, the compiler may decide
2019 object code generated for P0 could therefore end up looking rather
2022 P0()
2031 NULL pointer, because P1's store to x might propagate to P0 after the
2136 P0()
2155 means that the store to buf must propagate from P0 to P1 before Z
2217 P0()
2240 The smp_wmb() fence in P0 is both a compiler barrier and a
2335 P0()
2354 included merely for the sake of good form; typically P0 would call
2400 P0()
2418 before the grace period in P0 does, because RCU's Grace-Period
2419 Guarantee says that otherwise P0's store to x would have propagated to
2425 This means there is an rcu-fence link from P1's "y = 2" store to P0's
2426 "y = 3" store, and consequently the first must propagate from P1 to P0
2596 P0()