Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59f792d1 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

rcu: Refine diagnostics for lacking kthread for no-CBs callbacks



Some diagnostics under CONFIG_PROVE_RCU in rcu_nocb_cpu_needs_barrier()
assume that there can be no early-boot callbacks.  This commit therefore
qualifies the diagnostic with rcu_scheduler_fully_active to permit
early boot callbacks to avoid this splat.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent 143da9c2
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -1945,7 +1945,8 @@ static bool rcu_nocb_cpu_needs_barrier(struct rcu_state *rsp, int cpu)
		rhp = ACCESS_ONCE(rdp->nocb_follower_head);
		rhp = ACCESS_ONCE(rdp->nocb_follower_head);


	/* Having no rcuo kthread but CBs after scheduler starts is bad! */
	/* Having no rcuo kthread but CBs after scheduler starts is bad! */
	if (!ACCESS_ONCE(rdp->nocb_kthread) && rhp) {
	if (!ACCESS_ONCE(rdp->nocb_kthread) && rhp &&
	    rcu_scheduler_fully_active) {
		/* RCU callback enqueued before CPU first came online??? */
		/* RCU callback enqueued before CPU first came online??? */
		pr_err("RCU: Never-onlined no-CBs CPU %d has CB %p\n",
		pr_err("RCU: Never-onlined no-CBs CPU %d has CB %p\n",
		       cpu, rhp->func);
		       cpu, rhp->func);