Lines Matching refs:srcu_ctrp

225 		ssp->srcu_ctrp = &ssp->sda->srcu_ctrs[0];
545 * the current ->srcu_ctrp but not yet have incremented its CPU's
548 * ->srcu_ctrp and incrementing ->srcu_ctrs[idx].srcu_locks. And
555 * updater has already flipped ->srcu_ctrp (possibly during
560 * old ->srcu_ctrp value's ->srcu_ctrs[idx].srcu_locks counter,
564 * the old value of ->srcu_ctrp and is just about to use that
570 * ->srcu_ctrp, that task will be guaranteed to get the new index.
573 * from ->srcu_ctrp in __srcu_read_lock() is before the smp_mb().
574 * Thus, that task might not see the new value of ->srcu_ctrp until
577 * old value of ->srcu_ctrp twice, not just once.
792 struct srcu_ctr __percpu *scp = READ_ONCE(ssp->srcu_ctrp);
821 struct srcu_ctr __percpu *scpp = READ_ONCE(ssp->srcu_ctrp);
1143 * The caller must ensure that ->srcu_ctrp is not changed while checking.
1163 * Increment the ->srcu_ctrp counter so that future SRCU readers will
1170 * Because the flip of ->srcu_ctrp is executed only if the
1178 * of ->srcu_ctrp from before the previous call to srcu_flip(),
1182 * to be new) value of ->srcu_ctrp.
1186 * ->srcu_ctrp, this updater's earlier scans cannot have seen
1201 WRITE_ONCE(ssp->srcu_ctrp,
1202 &ssp->sda->srcu_ctrs[!(ssp->srcu_ctrp - &ssp->sda->srcu_ctrs[0])]);
1531 * the index=!(ssp->srcu_ctrp - &ssp->sda->srcu_ctrs[0]) to drain to zero
1532 * at first, and then flip the ->srcu_ctrp and wait for the count of the
1817 * fetching ->srcu_ctrp for their index, at any point in time there
1845 idx = !(ssp->srcu_ctrp - &ssp->sda->srcu_ctrs[0]);
1863 idx = !(ssp->srcu_ctrp - &ssp->sda->srcu_ctrs[0]);
2040 idx = ssp->srcu_ctrp - &ssp->sda->srcu_ctrs[0];
2145 ssp->srcu_ctrp = &ssp->sda->srcu_ctrs[0];