diff options
Diffstat (limited to 'kernel/rcutree.h')
| -rw-r--r-- | kernel/rcutree.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/kernel/rcutree.h b/kernel/rcutree.h index b40ac5706040..1899023b0962 100644 --- a/kernel/rcutree.h +++ b/kernel/rcutree.h | |||
| @@ -167,6 +167,10 @@ struct rcu_data { | |||
| 167 | struct rcu_head *nxtlist; | 167 | struct rcu_head *nxtlist; |
| 168 | struct rcu_head **nxttail[RCU_NEXT_SIZE]; | 168 | struct rcu_head **nxttail[RCU_NEXT_SIZE]; |
| 169 | long qlen; /* # of queued callbacks */ | 169 | long qlen; /* # of queued callbacks */ |
| 170 | long qlen_last_fqs_check; | ||
| 171 | /* qlen at last check for QS forcing */ | ||
| 172 | unsigned long n_force_qs_snap; | ||
| 173 | /* did other CPU force QS recently? */ | ||
| 170 | long blimit; /* Upper limit on a processed batch */ | 174 | long blimit; /* Upper limit on a processed batch */ |
| 171 | 175 | ||
| 172 | #ifdef CONFIG_NO_HZ | 176 | #ifdef CONFIG_NO_HZ |
| @@ -197,9 +201,10 @@ struct rcu_data { | |||
| 197 | }; | 201 | }; |
| 198 | 202 | ||
| 199 | /* Values for signaled field in struct rcu_state. */ | 203 | /* Values for signaled field in struct rcu_state. */ |
| 200 | #define RCU_GP_INIT 0 /* Grace period being initialized. */ | 204 | #define RCU_GP_IDLE 0 /* No grace period in progress. */ |
| 201 | #define RCU_SAVE_DYNTICK 1 /* Need to scan dyntick state. */ | 205 | #define RCU_GP_INIT 1 /* Grace period being initialized. */ |
| 202 | #define RCU_FORCE_QS 2 /* Need to force quiescent state. */ | 206 | #define RCU_SAVE_DYNTICK 2 /* Need to scan dyntick state. */ |
| 207 | #define RCU_FORCE_QS 3 /* Need to force quiescent state. */ | ||
| 203 | #ifdef CONFIG_NO_HZ | 208 | #ifdef CONFIG_NO_HZ |
| 204 | #define RCU_SIGNAL_INIT RCU_SAVE_DYNTICK | 209 | #define RCU_SIGNAL_INIT RCU_SAVE_DYNTICK |
| 205 | #else /* #ifdef CONFIG_NO_HZ */ | 210 | #else /* #ifdef CONFIG_NO_HZ */ |
| @@ -302,9 +307,9 @@ static void rcu_print_task_stall(struct rcu_node *rnp); | |||
| 302 | #endif /* #ifdef CONFIG_RCU_CPU_STALL_DETECTOR */ | 307 | #endif /* #ifdef CONFIG_RCU_CPU_STALL_DETECTOR */ |
| 303 | static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp); | 308 | static void rcu_preempt_check_blocked_tasks(struct rcu_node *rnp); |
| 304 | #ifdef CONFIG_HOTPLUG_CPU | 309 | #ifdef CONFIG_HOTPLUG_CPU |
| 305 | static void rcu_preempt_offline_tasks(struct rcu_state *rsp, | 310 | static int rcu_preempt_offline_tasks(struct rcu_state *rsp, |
| 306 | struct rcu_node *rnp, | 311 | struct rcu_node *rnp, |
| 307 | struct rcu_data *rdp); | 312 | struct rcu_data *rdp); |
| 308 | static void rcu_preempt_offline_cpu(int cpu); | 313 | static void rcu_preempt_offline_cpu(int cpu); |
| 309 | #endif /* #ifdef CONFIG_HOTPLUG_CPU */ | 314 | #endif /* #ifdef CONFIG_HOTPLUG_CPU */ |
| 310 | static void rcu_preempt_check_callbacks(int cpu); | 315 | static void rcu_preempt_check_callbacks(int cpu); |
