Lines Matching defs:rcu_state
328 struct rcu_state { struct
329 struct rcu_node node[NUM_RCU_NODES]; /* Hierarchy. */
330 struct rcu_node *level[RCU_NUM_LVLS + 1];
333 int ncpus; /* # CPUs seen so far. */
334 int n_online_cpus; /* # CPUs online for RCU. */
338 unsigned long gp_seq ____cacheline_internodealigned_in_smp;
340 unsigned long gp_max; /* Maximum GP duration in */
342 struct task_struct *gp_kthread; /* Task for grace periods. */
343 struct swait_queue_head gp_wq; /* Where GP task waits. */
344 short gp_flags; /* Commands for GP task. */
345 short gp_state; /* GP kthread sleep state. */
346 unsigned long gp_wake_time; /* Last GP kthread wake. */
347 unsigned long gp_wake_seq; /* ->gp_seq at ^^^. */
348 unsigned long gp_seq_polled; /* GP seq for polled API. */
349 unsigned long gp_seq_polled_snap; /* ->gp_seq_polled at normal GP start. */
350 unsigned long gp_seq_polled_exp_snap; /* ->gp_seq_polled at expedited GP start. */
354 struct mutex barrier_mutex; /* Guards barrier fields. */
355 atomic_t barrier_cpu_count; /* # CPUs waiting on. */
356 struct completion barrier_completion; /* Wake at barrier end. */
357 unsigned long barrier_sequence; /* ++ at start and end of */
361 raw_spinlock_t barrier_lock; /* Protects ->barrier_seq_snap. */
363 struct mutex exp_mutex; /* Serialize expedited GP. */
364 struct mutex exp_wake_mutex; /* Serialize wakeup. */
365 unsigned long expedited_sequence; /* Take a ticket. */
366 atomic_t expedited_need_qs; /* # CPUs left to check in. */
367 struct swait_queue_head expedited_wq; /* Wait for check-ins. */
368 int ncpus_snap; /* # CPUs seen last time. */
369 u8 cbovld; /* Callback overload now? */
370 u8 cbovldnext; /* ^ ^ next time? */
372 unsigned long jiffies_force_qs; /* Time at which to invoke */
374 unsigned long jiffies_kick_kthreads; /* Time at which to kick */
376 unsigned long n_force_qs; /* Number of calls to */
378 unsigned long gp_start; /* Time at which GP started, */
380 unsigned long gp_end; /* Time last GP ended, again */
405 /* Values for rcu_state structure's gp_flags field. */ argument