Lines Matching defs:rcu_ctrlblk
31 struct rcu_ctrlblk {
39 static struct rcu_ctrlblk rcu_ctrlblk = {
40 .donetail = &rcu_ctrlblk.rcucblist,
41 .curtail = &rcu_ctrlblk.rcucblist,
57 if (rcu_ctrlblk.donetail != rcu_ctrlblk.curtail) {
58 rcu_ctrlblk.donetail = rcu_ctrlblk.curtail;
61 WRITE_ONCE(rcu_ctrlblk.gp_seq, rcu_ctrlblk.gp_seq + 2);
75 } else if (rcu_ctrlblk.donetail != rcu_ctrlblk.curtail) {
115 if (rcu_ctrlblk.donetail == &rcu_ctrlblk.rcucblist) {
120 list = rcu_ctrlblk.rcucblist;
121 rcu_ctrlblk.rcucblist = *rcu_ctrlblk.donetail;
122 *rcu_ctrlblk.donetail = NULL;
123 if (rcu_ctrlblk.curtail == rcu_ctrlblk.donetail)
124 rcu_ctrlblk.curtail = &rcu_ctrlblk.rcucblist;
125 rcu_ctrlblk.donetail = &rcu_ctrlblk.rcucblist;
157 WRITE_ONCE(rcu_ctrlblk.gp_seq, rcu_ctrlblk.gp_seq + 2);
191 *rcu_ctrlblk.curtail = head;
192 rcu_ctrlblk.curtail = &head->next;
218 return READ_ONCE(rcu_ctrlblk.gp_seq);
245 return oldstate == RCU_GET_STATE_COMPLETED || READ_ONCE(rcu_ctrlblk.gp_seq) != oldstate;