aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-07-12 00:52:31 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-08-17 10:26:23 -0400
commit2dee9404fa8c4384453a5f3a15ad74ab9480f2d6 (patch)
treeef942d70822fab59415526d87b08fc68ef90660c /kernel/rcu/tree.c
parent35fe723bda12c25f4ac20a4fb91e345cacf568f7 (diff)
rcu: Add assertions verifying blocked-tasks list
This commit adds assertions verifying the consistency of the rcu_node structure's ->blkd_tasks list and its ->gp_tasks, ->exp_tasks, and ->boost_tasks pointers. In particular, the ->blkd_tasks lists must be empty except for leaf rcu_node structures. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r--kernel/rcu/tree.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 2b37f1a8e235..ac2617d857a3 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -2410,6 +2410,8 @@ rcu_report_qs_rnp(unsigned long mask, struct rcu_state *rsp,
2410 return; 2410 return;
2411 } 2411 }
2412 WARN_ON_ONCE(oldmask); /* Any child must be all zeroed! */ 2412 WARN_ON_ONCE(oldmask); /* Any child must be all zeroed! */
2413 WARN_ON_ONCE(rnp->level != rcu_num_lvls - 1 &&
2414 rcu_preempt_blocked_readers_cgp(rnp));
2413 rnp->qsmask &= ~mask; 2415 rnp->qsmask &= ~mask;
2414 trace_rcu_quiescent_state_report(rsp->name, rnp->gpnum, 2416 trace_rcu_quiescent_state_report(rsp->name, rnp->gpnum,
2415 mask, rnp->qsmask, rnp->level, 2417 mask, rnp->qsmask, rnp->level,