aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcutree.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rcutree.h')
-rw-r--r--kernel/rcutree.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/kernel/rcutree.h b/kernel/rcutree.h
index 676eecd371d9..b40ac5706040 100644
--- a/kernel/rcutree.h
+++ b/kernel/rcutree.h
@@ -244,7 +244,15 @@ struct rcu_state {
244 /* End of fields guarded by root rcu_node's lock. */ 244 /* End of fields guarded by root rcu_node's lock. */
245 245
246 spinlock_t onofflock; /* exclude on/offline and */ 246 spinlock_t onofflock; /* exclude on/offline and */
247 /* starting new GP. */ 247 /* starting new GP. Also */
248 /* protects the following */
249 /* orphan_cbs fields. */
250 struct rcu_head *orphan_cbs_list; /* list of rcu_head structs */
251 /* orphaned by all CPUs in */
252 /* a given leaf rcu_node */
253 /* going offline. */
254 struct rcu_head **orphan_cbs_tail; /* And tail pointer. */
255 long orphan_qlen; /* Number of orphaned cbs. */
248 spinlock_t fqslock; /* Only one task forcing */ 256 spinlock_t fqslock; /* Only one task forcing */
249 /* quiescent states. */ 257 /* quiescent states. */
250 unsigned long jiffies_force_qs; /* Time at which to invoke */ 258 unsigned long jiffies_force_qs; /* Time at which to invoke */
@@ -305,6 +313,7 @@ void call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu));
305static int rcu_preempt_pending(int cpu); 313static int rcu_preempt_pending(int cpu);
306static int rcu_preempt_needs_cpu(int cpu); 314static int rcu_preempt_needs_cpu(int cpu);
307static void __cpuinit rcu_preempt_init_percpu_data(int cpu); 315static void __cpuinit rcu_preempt_init_percpu_data(int cpu);
316static void rcu_preempt_send_cbs_to_orphanage(void);
308static void __init __rcu_init_preempt(void); 317static void __init __rcu_init_preempt(void);
309 318
310#endif /* #else #ifdef RCU_TREE_NONCORE */ 319#endif /* #else #ifdef RCU_TREE_NONCORE */