|
@@ -1757,8 +1757,8 @@ static int rcu_gp_init(struct rcu_state *rsp)
|
|
|
rcu_preempt_check_blocked_tasks(rnp);
|
|
|
rnp->qsmask = rnp->qsmaskinit;
|
|
|
ACCESS_ONCE(rnp->gpnum) = rsp->gpnum;
|
|
|
- WARN_ON_ONCE(rnp->completed != rsp->completed);
|
|
|
- ACCESS_ONCE(rnp->completed) = rsp->completed;
|
|
|
+ if (WARN_ON_ONCE(rnp->completed != rsp->completed))
|
|
|
+ ACCESS_ONCE(rnp->completed) = rsp->completed;
|
|
|
if (rnp == rdp->mynode)
|
|
|
(void)__note_gp_changes(rsp, rnp, rdp);
|
|
|
rcu_preempt_boost_start_gp(rnp);
|