aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcutree.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rcutree.h')
-rw-r--r--kernel/rcutree.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/kernel/rcutree.h b/kernel/rcutree.h
index bd891def3303..5a439c180e69 100644
--- a/kernel/rcutree.h
+++ b/kernel/rcutree.h
@@ -107,7 +107,7 @@ struct rcu_node {
107 /* an rcu_data structure, otherwise, each */ 107 /* an rcu_data structure, otherwise, each */
108 /* bit corresponds to a child rcu_node */ 108 /* bit corresponds to a child rcu_node */
109 /* structure. */ 109 /* structure. */
110 unsigned long expmask; /* Groups that have ->blocked_tasks[] */ 110 unsigned long expmask; /* Groups that have ->blkd_tasks */
111 /* elements that need to drain to allow the */ 111 /* elements that need to drain to allow the */
112 /* current expedited grace period to */ 112 /* current expedited grace period to */
113 /* complete (only for TREE_PREEMPT_RCU). */ 113 /* complete (only for TREE_PREEMPT_RCU). */
@@ -120,11 +120,20 @@ struct rcu_node {
120 u8 grpnum; /* CPU/group number for next level up. */ 120 u8 grpnum; /* CPU/group number for next level up. */
121 u8 level; /* root is at level 0. */ 121 u8 level; /* root is at level 0. */
122 struct rcu_node *parent; 122 struct rcu_node *parent;
123 struct list_head blocked_tasks[4]; 123 struct list_head blkd_tasks;
124 /* Tasks blocked in RCU read-side critsect. */ 124 /* Tasks blocked in RCU read-side critical */
125 /* Grace period number (->gpnum) x blocked */ 125 /* section. Tasks are placed at the head */
126 /* by tasks on the (x & 0x1) element of the */ 126 /* of this list and age towards the tail. */
127 /* blocked_tasks[] array. */ 127 struct list_head *gp_tasks;
128 /* Pointer to the first task blocking the */
129 /* current grace period, or NULL if there */
130 /* is no such task. */
131 struct list_head *exp_tasks;
132 /* Pointer to the first task blocking the */
133 /* current expedited grace period, or NULL */
134 /* if there is no such task. If there */
135 /* is no current expedited grace period, */
136 /* then there can cannot be any such task. */
128} ____cacheline_internodealigned_in_smp; 137} ____cacheline_internodealigned_in_smp;
129 138
130/* 139/*