Lines Matching refs:rcu_ctrlblk
31 struct rcu_ctrlblk { struct
39 static struct rcu_ctrlblk rcu_ctrlblk = { argument
40 .donetail = &rcu_ctrlblk.rcucblist,
41 .curtail = &rcu_ctrlblk.rcucblist,
57 if (rcu_ctrlblk.donetail != rcu_ctrlblk.curtail) { in rcu_qs()
58 rcu_ctrlblk.donetail = rcu_ctrlblk.curtail; in rcu_qs()
61 WRITE_ONCE(rcu_ctrlblk.gp_seq, rcu_ctrlblk.gp_seq + 2); in rcu_qs()
75 else if (rcu_ctrlblk.donetail != rcu_ctrlblk.curtail) in rcu_sched_clock_irq()
106 if (rcu_ctrlblk.donetail == &rcu_ctrlblk.rcucblist) { in rcu_process_callbacks()
111 list = rcu_ctrlblk.rcucblist; in rcu_process_callbacks()
112 rcu_ctrlblk.rcucblist = *rcu_ctrlblk.donetail; in rcu_process_callbacks()
113 *rcu_ctrlblk.donetail = NULL; in rcu_process_callbacks()
114 if (rcu_ctrlblk.curtail == rcu_ctrlblk.donetail) in rcu_process_callbacks()
115 rcu_ctrlblk.curtail = &rcu_ctrlblk.rcucblist; in rcu_process_callbacks()
116 rcu_ctrlblk.donetail = &rcu_ctrlblk.rcucblist; in rcu_process_callbacks()
148 WRITE_ONCE(rcu_ctrlblk.gp_seq, rcu_ctrlblk.gp_seq + 2); in synchronize_rcu()
175 *rcu_ctrlblk.curtail = head; in call_rcu()
176 rcu_ctrlblk.curtail = &head->next; in call_rcu()
202 return READ_ONCE(rcu_ctrlblk.gp_seq); in get_state_synchronize_rcu()
229 return oldstate == RCU_GET_STATE_COMPLETED || READ_ONCE(rcu_ctrlblk.gp_seq) != oldstate; in poll_state_synchronize_rcu()
236 return READ_ONCE(rcu_ctrlblk.gp_seq) & 0xffffULL; in rcutorture_gather_gp_seqs()