diff options
Diffstat (limited to 'kernel/rcutree.h')
-rw-r--r-- | kernel/rcutree.h | 21 |
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 | /* |