Commit 4cf0585c authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

rcu-tasks: Check for abandoned callbacks



This commit adds a debugging scan for callbacks that got lost during a
callback-queueing transition.

Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent a111daf0
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -439,6 +439,11 @@ static int rcu_tasks_need_gpcb(struct rcu_tasks *rtp)
			WRITE_ONCE(rtp->percpu_dequeue_lim, 1);
			pr_info("Completing switch %s to CPU-0 callback queuing.\n", rtp->name);
		}
		for (cpu = rtp->percpu_dequeue_lim; cpu < nr_cpu_ids; cpu++) {
			struct rcu_tasks_percpu *rtpcp = per_cpu_ptr(rtp->rtpcpu, cpu);

			WARN_ON_ONCE(rcu_segcblist_n_cbs(&rtpcp->cblist));
		}
		raw_spin_unlock_irqrestore(&rtp->cbs_gbl_lock, flags);
	}