doc: Add another stall-warning root cause in stallwarn.rst
authorPaul E. McKenney <paulmck@kernel.org>
Fri, 23 Jul 2021 04:41:48 +0000 (21:41 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 13 Sep 2021 23:32:46 +0000 (16:32 -0700)
This commit adds a bullet item noting that both deficiencies and surpluses
of calls to rcu_*_enter() and rcu_*_exit() can result in RCU CPU stall
warnings.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Documentation/RCU/stallwarn.rst

index 5036df2..28f8ad1 100644 (file)
@@ -96,6 +96,16 @@ warnings:
        the ``rcu_.*timer wakeup didn't happen for`` console-log message,
        which will include additional debugging information.
 
+-      A low-level kernel issue that either fails to invoke one of the
+       variants of rcu_user_enter(), rcu_user_exit(), rcu_idle_enter(),
+       rcu_idle_exit(), rcu_irq_enter(), or rcu_irq_exit() on the one
+       hand, or that invokes one of them too many times on the other.
+       Historically, the most frequent issue has been an omission
+       of either irq_enter() or irq_exit(), which in turn invoke
+       rcu_irq_enter() or rcu_irq_exit(), respectively.  Building your
+       kernel with CONFIG_RCU_EQS_DEBUG=y can help track down these types
+       of issues, which sometimes arise in architecture-specific code.
+
 -      A bug in the RCU implementation.
 
 -      A hardware failure.  This is quite unlikely, but has occurred