diff options
author | Paul E. McKenney <paul.mckenney@linaro.org> | 2012-06-25 15:54:17 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2012-07-06 08:55:16 -0400 |
commit | cfca927972e31a5b3da49bf641c525732ff3c357 (patch) | |
tree | d77d787107b706189d4592ef2738901e98814217 /kernel | |
parent | cf01537ecf192d9ff15c32a355db5d5af22bea4d (diff) |
rcu: Introduce check for callback list/count mismatch
The recent bug that introduced the RCU callback list/count mismatch
showed the need for a diagnostic to check for this, which this commit
adds.
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/rcutree.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c index 95c7b61e77e4..4154c9567a6d 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c | |||
@@ -1612,6 +1612,7 @@ static void rcu_do_batch(struct rcu_state *rsp, struct rcu_data *rdp) | |||
1612 | rdp->n_force_qs_snap = rsp->n_force_qs; | 1612 | rdp->n_force_qs_snap = rsp->n_force_qs; |
1613 | } else if (rdp->qlen < rdp->qlen_last_fqs_check - qhimark) | 1613 | } else if (rdp->qlen < rdp->qlen_last_fqs_check - qhimark) |
1614 | rdp->qlen_last_fqs_check = rdp->qlen; | 1614 | rdp->qlen_last_fqs_check = rdp->qlen; |
1615 | WARN_ON_ONCE((rdp->nxtlist == NULL) != (rdp->qlen == 0)); | ||
1615 | 1616 | ||
1616 | local_irq_restore(flags); | 1617 | local_irq_restore(flags); |
1617 | 1618 | ||