提交 06f60de1 编写于 作者: P Paul E. McKenney

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: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
上级 6cf10081
...@@ -3822,6 +3822,10 @@ void synchronize_sched_expedited(void) ...@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册