Lines Matching defs:rcu_data
162 struct rcu_data { struct
164 unsigned long gp_seq; /* Track rsp->gp_seq counter. */
165 unsigned long gp_seq_needed; /* Track furthest future GP request. */
166 union rcu_noqs cpu_no_qs; /* No QSes yet for this CPU. */
167 bool core_needs_qs; /* Core waits for quiescent state. */
168 bool beenonline; /* CPU online at least once. */
169 bool gpwrap; /* Possible ->gp_seq wrap. */
170 bool cpu_started; /* RCU watching this onlining CPU. */
171 struct rcu_node *mynode; /* This CPU's leaf of hierarchy */
172 unsigned long grpmask; /* Mask to apply to leaf qsmask. */
173 unsigned long ticks_this_gp; /* The number of scheduling-clock */
177 struct irq_work defer_qs_iw; /* Obtain later scheduler attention. */
178 bool defer_qs_iw_pending; /* Scheduler attention pending? */
179 struct work_struct strict_work; /* Schedule readers for strict GPs. */
182 struct rcu_segcblist cblist; /* Segmented callback list, with */
185 long qlen_last_fqs_check;
187 unsigned long n_cbs_invoked; /* # callbacks invoked since boot. */
188 unsigned long n_force_qs_snap;
190 long blimit; /* Upper limit on a processed batch */
193 int dynticks_snap; /* Per-GP tracking for dynticks. */
194 bool rcu_need_heavy_qs; /* GP old, so heavy quiescent state! */
195 bool rcu_urgent_qs; /* GP old need light quiescent state. */
196 bool rcu_forced_tick; /* Forced tick to provide QS. */
197 bool rcu_forced_tick_exp; /* ... provide QS to expedited GP. */
200 unsigned long barrier_seq_snap; /* Snap of rcu_state.barrier_sequence. */
201 struct rcu_head barrier_head;
202 int exp_dynticks_snap; /* Double-check need for IPI. */
206 struct swait_queue_head nocb_cb_wq; /* For nocb kthreads to sleep on. */
207 struct swait_queue_head nocb_state_wq; /* For offloading state changes */
208 struct task_struct *nocb_gp_kthread;
209 raw_spinlock_t nocb_lock; /* Guard following pair of fields. */
210 atomic_t nocb_lock_contended; /* Contention experienced. */
211 int nocb_defer_wakeup; /* Defer wakeup of nocb_kthread. */
235 * Head of rcu_data list in wakeup chain, argument
238 struct list_head nocb_entry_rdp; /* rcu_data node in wakeup chain. */ argument
239 struct rcu_data *nocb_toggling_rdp; /* rdp queued for (de-)offloading */ argument
242 struct rcu_data *nocb_gp_rdp ____cacheline_internodealigned_in_smp; argument
269 /* Values for nocb_defer_wakeup field in struct rcu_data. */ argument