rcu: Add warning to rcu_idle_enter() for irqs enabled
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 12 Jul 2017 16:03:35 +0000 (09:03 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 17 Aug 2017 14:26:25 +0000 (07:26 -0700)
All current callers of rcu_idle_enter() have irqs disabled, and
rcu_idle_enter() relies on this, but doesn't check.  This commit
therefore adds a RCU_LOCKDEP_WARN() to add some verification to the trust.
While we are there, pass "true" rather than "1" to rcu_eqs_enter().

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/tree.c

index 76f88b6..5f4ecca 100644 (file)
@@ -859,7 +859,8 @@ EXPORT_SYMBOL_GPL(rcu_idle_enter);
  */
 void rcu_user_enter(void)
 {
-       rcu_eqs_enter(1);
+       RCU_LOCKDEP_WARN(!irqs_disabled(), "rcu_user_enter() invoked with irqs enabled!!!");
+       rcu_eqs_enter(true);
 }
 #endif /* CONFIG_NO_HZ_FULL */