|
@@ -526,6 +526,7 @@ static void rcu_eqs_enter_common(struct rcu_dynticks *rdtp, long long oldval,
|
|
|
atomic_inc(&rdtp->dynticks);
|
|
|
smp_mb__after_atomic(); /* Force ordering with next sojourn. */
|
|
|
WARN_ON_ONCE(atomic_read(&rdtp->dynticks) & 0x1);
|
|
|
+ rcu_dynticks_task_enter();
|
|
|
|
|
|
/*
|
|
|
* It is illegal to enter an extended quiescent state while
|
|
@@ -642,6 +643,7 @@ void rcu_irq_exit(void)
|
|
|
static void rcu_eqs_exit_common(struct rcu_dynticks *rdtp, long long oldval,
|
|
|
int user)
|
|
|
{
|
|
|
+ rcu_dynticks_task_exit();
|
|
|
smp_mb__before_atomic(); /* Force ordering w/previous sojourn. */
|
|
|
atomic_inc(&rdtp->dynticks);
|
|
|
/* CPUs seeing atomic_inc() must see later RCU read-side crit sects */
|