diff options
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r-- | kernel/rcu/tree.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 6a652d1f3d7f..489992997c06 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c | |||
@@ -3841,6 +3841,12 @@ void synchronize_sched_expedited(void) | |||
3841 | if (rcu_blocking_is_gp()) | 3841 | if (rcu_blocking_is_gp()) |
3842 | return; | 3842 | return; |
3843 | 3843 | ||
3844 | /* If expedited grace periods are prohibited, fall back to normal. */ | ||
3845 | if (rcu_gp_is_normal()) { | ||
3846 | wait_rcu_gp(call_rcu_sched); | ||
3847 | return; | ||
3848 | } | ||
3849 | |||
3844 | /* Take a snapshot of the sequence number. */ | 3850 | /* Take a snapshot of the sequence number. */ |
3845 | s = rcu_exp_gp_seq_snap(rsp); | 3851 | s = rcu_exp_gp_seq_snap(rsp); |
3846 | 3852 | ||