rcu: Short-circuit synchronize_sched_expedited() if only one CPU
If there is only one CPU, then invoking synchronize_sched_expedited() is by definition a grace period. This commit checks for this condition and does a short-circuit return in that case. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
parent
6cf1008122
commit
06f60de19d
@ -3822,6 +3822,10 @@ void synchronize_sched_expedited(void)
|
|||||||
struct rcu_node *rnp;
|
struct rcu_node *rnp;
|
||||||
struct rcu_state *rsp = &rcu_sched_state;
|
struct rcu_state *rsp = &rcu_sched_state;
|
||||||
|
|
||||||
|
/* If only one CPU, this is automatically a grace period. */
|
||||||
|
if (rcu_blocking_is_gp())
|
||||||
|
return;
|
||||||
|
|
||||||
/* Take a snapshot of the sequence number. */
|
/* Take a snapshot of the sequence number. */
|
||||||
s = rcu_exp_gp_seq_snap(rsp);
|
s = rcu_exp_gp_seq_snap(rsp);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user