diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/rcu/tree.c | 14 | 
1 files changed, 1 insertions, 13 deletions
| diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 15b19baaade5..7e7df5deadf9 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c @@ -3785,19 +3785,9 @@ void synchronize_sched_expedited(void)  	/* Take a snapshot of the sequence number.  */  	s = rcu_exp_gp_seq_snap(rsp); -	if (!try_get_online_cpus()) { -		/* CPU hotplug operation in flight, fall back to normal GP. */ -		wait_rcu_gp(call_rcu_sched); -		atomic_long_inc(&rsp->expedited_normal); -		return; -	} -	WARN_ON_ONCE(cpu_is_offline(raw_smp_processor_id())); -  	rnp = exp_funnel_lock(rsp, s); -	if (rnp == NULL) { -		put_online_cpus(); +	if (rnp == NULL)  		return;  /* Someone else did our work for us. */ -	}  	rcu_exp_gp_seq_start(rsp);  	sync_sched_exp_select_cpus(rsp); @@ -3805,8 +3795,6 @@ void synchronize_sched_expedited(void)  	rcu_exp_gp_seq_end(rsp);  	mutex_unlock(&rnp->exp_funnel_mutex); - -	put_online_cpus();  }  EXPORT_SYMBOL_GPL(synchronize_sched_expedited); | 
