|
@@ -111,7 +111,6 @@ extern struct rcupreempt_trace *rcupreempt_trace_cpu(int cpu);
|
|
|
struct softirq_action;
|
|
|
|
|
|
#ifdef CONFIG_NO_HZ
|
|
|
-DECLARE_PER_CPU(struct rcu_dyntick_sched, rcu_dyntick_sched);
|
|
|
|
|
|
static inline void rcu_enter_nohz(void)
|
|
|
{
|
|
@@ -126,8 +125,8 @@ static inline void rcu_exit_nohz(void)
|
|
|
{
|
|
|
static DEFINE_RATELIMIT_STATE(rs, 10 * HZ, 1);
|
|
|
|
|
|
- smp_mb(); /* CPUs seeing ++ must see later RCU read-side crit sects */
|
|
|
__get_cpu_var(rcu_dyntick_sched).dynticks++;
|
|
|
+ smp_mb(); /* CPUs seeing ++ must see later RCU read-side crit sects */
|
|
|
WARN_ON_RATELIMIT(!(__get_cpu_var(rcu_dyntick_sched).dynticks & 0x1),
|
|
|
&rs);
|
|
|
}
|