Lines Matching defs:srcu_struct
63 struct srcu_struct { struct
64 struct srcu_node *node; /* Combining tree. */
65 struct srcu_node *level[RCU_NUM_LVLS + 1];
67 int srcu_size_state; /* Small-to-big transition state. */
68 struct mutex srcu_cb_mutex; /* Serialize CB preparation. */
69 spinlock_t __private lock; /* Protect counters and size state. */
70 struct mutex srcu_gp_mutex; /* Serialize GP work. */
71 unsigned int srcu_idx; /* Current rdr array element. */
72 unsigned long srcu_gp_seq; /* Grace-period seq #. */
73 unsigned long srcu_gp_seq_needed; /* Latest gp_seq needed. */
74 unsigned long srcu_gp_seq_needed_exp; /* Furthest future exp GP. */
75 unsigned long srcu_gp_start; /* Last GP start timestamp (jiffies) */
76 unsigned long srcu_last_gp_end; /* Last GP end timestamp (ns) */
77 unsigned long srcu_size_jiffies; /* Current contention-measurement interval. */
78 unsigned long srcu_n_lock_retries; /* Contention events in current interval. */
79 unsigned long srcu_n_exp_nodelay; /* # expedited no-delays in current GP phase. */
80 struct srcu_data __percpu *sda; /* Per-CPU srcu_data array. */
81 bool sda_is_static; /* May ->sda be passed to free_percpu()? */
82 unsigned long srcu_barrier_seq; /* srcu_barrier seq #. */
83 struct mutex srcu_barrier_mutex; /* Serialize barrier ops. */
84 struct completion srcu_barrier_completion;
86 atomic_t srcu_barrier_cpu_cnt; /* # CPUs not yet posting a */
89 unsigned long reschedule_jiffies;
90 unsigned long reschedule_count;
91 struct delayed_work work;
92 struct lockdep_map dep_map;