Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c96c775 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

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: default avatarDarren Hart <dvhltc@us.ibm.com>
Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent a6b9b4d5
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -80,6 +80,24 @@ o A CPU looping with bottom halves disabled. This condition can
o	For !CONFIG_PREEMPT kernels, a CPU looping anywhere in the kernel
	without invoking schedule().

o	A CPU-bound real-time task in a CONFIG_PREEMPT kernel, which might
	happen to preempt a low-priority task in the middle of an RCU
	read-side critical section.   This is especially damaging if
	that low-priority task is not permitted to run on any other CPU,
	in which case the next RCU grace period can never complete, which
	will eventually cause the system to run out of memory and hang.
	While the system is in the process of running itself out of
	memory, you might see stall-warning messages.

o	A CPU-bound real-time task in a CONFIG_PREEMPT_RT kernel that
	is running at a higher priority than the RCU softirq threads.
	This will prevent RCU callbacks from ever being invoked,
	and in a CONFIG_TREE_PREEMPT_RCU kernel will further prevent
	RCU grace periods from ever completing.  Either way, the
	system will eventually run out of memory and hang.  In the
	CONFIG_TREE_PREEMPT_RCU case, you might see stall-warning
	messages.

o	A bug in the RCU implementation.

o	A hardware failure.  This is quite unlikely, but has occurred