Commit 2c96c7751d2bb822542b03ddfaca70933f5aaf02

Authored by Paul E. McKenney
1 parent a6b9b4d50f

rcu: upgrade stallwarn.txt documentation for CPU-bound RT processes

CPU-bound real-time processes can cause RCU CPU stall warnings, and
much other trouble as well.  Document the fact that they can cause
RCU CPU stall warnings.

Suggested-by: Darren Hart <dvhltc@us.ibm.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

Showing 1 changed file with 18 additions and 0 deletions Side-by-side Diff

Documentation/RCU/stallwarn.txt
... ... @@ -80,6 +80,24 @@
80 80 o For !CONFIG_PREEMPT kernels, a CPU looping anywhere in the kernel
81 81 without invoking schedule().
82 82  
  83 +o A CPU-bound real-time task in a CONFIG_PREEMPT kernel, which might
  84 + happen to preempt a low-priority task in the middle of an RCU
  85 + read-side critical section. This is especially damaging if
  86 + that low-priority task is not permitted to run on any other CPU,
  87 + in which case the next RCU grace period can never complete, which
  88 + will eventually cause the system to run out of memory and hang.
  89 + While the system is in the process of running itself out of
  90 + memory, you might see stall-warning messages.
  91 +
  92 +o A CPU-bound real-time task in a CONFIG_PREEMPT_RT kernel that
  93 + is running at a higher priority than the RCU softirq threads.
  94 + This will prevent RCU callbacks from ever being invoked,
  95 + and in a CONFIG_TREE_PREEMPT_RCU kernel will further prevent
  96 + RCU grace periods from ever completing. Either way, the
  97 + system will eventually run out of memory and hang. In the
  98 + CONFIG_TREE_PREEMPT_RCU case, you might see stall-warning
  99 + messages.
  100 +
83 101 o A bug in the RCU implementation.
84 102  
85 103 o A hardware failure. This is quite unlikely, but has occurred