Lines Matching full:rcu
4 Using RCU's CPU Stall Detector
7 This document first discusses what sorts of issues RCU's CPU stall
13 What Causes RCU CPU Stall Warnings?
16 So your kernel printed an RCU CPU stall warning. The next question is
17 "What caused it?" The following problems can result in RCU CPU stall
20 - A CPU looping in an RCU read-side critical section.
37 RCU CPU stall warning messages. Especially if you have added
40 - Anything that prevents RCU's grace-period kthreads from running.
48 happen to preempt a low-priority task in the middle of an RCU
51 in which case the next RCU grace period can never complete, which
57 is running at a higher priority than the RCU softirq threads.
58 This will prevent RCU callbacks from ever being invoked,
60 RCU grace periods from ever completing. Either way, the
66 increase the scheduling priority of RCU's kthreads, which can
73 prevent RCU's kthreads and softirq handlers from running.
77 RCU CPU stall warnings.
80 timeout down to just barely avoid RCU CPU stall warnings, and then
88 result in RCU CPU stall warnings for CONFIG_NO_HZ_COMMON=n kernels.
95 yes, even including bugs in RCU itself. It can also result in
109 - A bug in the RCU implementation.
115 of RCU CPU stall warnings, eventually leading the realization
118 The RCU, RCU-sched, RCU-tasks, and RCU-tasks-trace implementations have
120 Please note that RCU only detects CPU stalls when there is a grace period
131 RCU bugs can often be debugged with the help of CONFIG_RCU_TRACE
132 and with RCU's event tracing. For information on RCU's event tracing,
133 see include/trace/events/rcu.h.
136 Fine-Tuning the RCU CPU Stall Detector
139 The rcuupdate.rcu_cpu_stall_suppress module parameter disables RCU's
140 CPU stall detector, which detects conditions that unduly delay RCU grace
150 that RCU will wait from the beginning of a grace period until it
151 issues an RCU CPU stall warning. This time period is normally
171 of time that RCU will wait from the beginning of an expedited
172 grace period until it issues an RCU CPU stall warning. This time
192 giving an RCU CPU stall warning message. (This is a cpp
209 This boot/sysfs parameter controls the RCU-tasks and
210 RCU-tasks-trace stall warning intervals. A value of zero or less
211 suppresses RCU-tasks stall warnings. A positive value sets the
212 stall-warning interval in seconds. An RCU-tasks stall warning
218 task stalling the current RCU-tasks grace period.
220 An RCU-tasks-trace stall warning starts (and continues) similarly:
225 Interpreting RCU's CPU Stall-Detector "Splats"
228 For non-RCU-tasks flavors of RCU, when a CPU detects that some other
237 causing stalls, and that the stall was affecting RCU-sched. This message
247 the RCU core for the past three grace periods. In contrast, CPU 16's "(0
260 The "softirq=" portion of the message tracks the number of RCU softirq
268 across repeated stall-warning messages, it is possible that RCU's softirq
271 kernels, if a high-priority process is starving RCU's softirq handler.
281 an estimate of the total number of RCU callbacks queued across all CPUs
318 in RCU CPU stall warnings even when all CPUs and tasks have passed
342 change on successive RCU CPU stall warnings, there is further reason to
399 is supplied with each RCU CPU stall warning::
401 rcu: hardirqs softirqs csw/system
402 rcu: number: 624 45 0
403 rcu: cputime: 69 1 2425 ==> 2500(ms)
411 in milliseconds. Because user-mode tasks normally do not cause RCU CPU
430 rcu: hardirqs softirqs csw/system
431 rcu: number: 0 0 0
432 rcu: cputime: 0 0 0 ==> 2500(ms)
447 rcu: hardirqs softirqs csw/system
448 rcu: number: 624 0 0
449 rcu: cputime: 49 0 2446 ==> 2500(ms)
461 rcu: hardirqs softirqs csw/system
462 rcu: number: 624 45 0
463 rcu: cputime: 69 1 2425 ==> 2500(ms)
472 rcu: hardirqs softirqs csw/system
473 rcu: number: xx xx 0
474 rcu: cputime: xx xx 0 ==> 2500(ms)
482 If this type of RCU CPU stall warning can be reproduced, you can