diff options
Diffstat (limited to 'kernel/rcutree.h')
-rw-r--r-- | kernel/rcutree.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/kernel/rcutree.h b/kernel/rcutree.h index 93d4a1c2e88b..257664815d5d 100644 --- a/kernel/rcutree.h +++ b/kernel/rcutree.h | |||
@@ -84,9 +84,11 @@ | |||
84 | * Dynticks per-CPU state. | 84 | * Dynticks per-CPU state. |
85 | */ | 85 | */ |
86 | struct rcu_dynticks { | 86 | struct rcu_dynticks { |
87 | int dynticks_nesting; /* Track irq/process nesting level. */ | 87 | int dynticks_nesting; /* Track nesting level, sort of. */ |
88 | int dynticks_nmi_nesting; /* Track NMI nesting level. */ | 88 | int dynticks; /* Even value for dynticks-idle, else odd. */ |
89 | atomic_t dynticks; /* Even value for dynticks-idle, else odd. */ | 89 | int dynticks_nmi; /* Even value for either dynticks-idle or */ |
90 | /* not in nmi handler, else odd. So this */ | ||
91 | /* remains even for nmi from irq handler. */ | ||
90 | }; | 92 | }; |
91 | 93 | ||
92 | /* RCU's kthread states for tracing. */ | 94 | /* RCU's kthread states for tracing. */ |
@@ -282,6 +284,7 @@ struct rcu_data { | |||
282 | /* 3) dynticks interface. */ | 284 | /* 3) dynticks interface. */ |
283 | struct rcu_dynticks *dynticks; /* Shared per-CPU dynticks state. */ | 285 | struct rcu_dynticks *dynticks; /* Shared per-CPU dynticks state. */ |
284 | int dynticks_snap; /* Per-GP tracking for dynticks. */ | 286 | int dynticks_snap; /* Per-GP tracking for dynticks. */ |
287 | int dynticks_nmi_snap; /* Per-GP tracking for dynticks_nmi. */ | ||
285 | #endif /* #ifdef CONFIG_NO_HZ */ | 288 | #endif /* #ifdef CONFIG_NO_HZ */ |
286 | 289 | ||
287 | /* 4) reasons this CPU needed to be kicked by force_quiescent_state */ | 290 | /* 4) reasons this CPU needed to be kicked by force_quiescent_state */ |