diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-08-31 19:47:08 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-10-09 17:25:17 -0400 |
commit | 83b6ca1fede773eebcdfb44f5a94eb410d48b886 (patch) | |
tree | ab005f3313b5d56efe7cbf7757b24c8a1ca190e2 | |
parent | 9b9500da81502738efa1b485a8835f174ff7be6d (diff) |
rcu: Turn off tracing before dumping trace
Currently, RCU allows tracing to continue when it automatically does
ftrace_dump() after detecting an error condition, which can result in
excessively large traces and lost trace events. This commit therefore
does a tracing_off() before any of these ftrace_dump() calls.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
-rw-r--r-- | kernel/rcu/rcu.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/rcu/rcu.h b/kernel/rcu/rcu.h index e4b43fef89f5..b8729eb09a5d 100644 --- a/kernel/rcu/rcu.h +++ b/kernel/rcu/rcu.h | |||
@@ -220,8 +220,10 @@ do { \ | |||
220 | static atomic_t ___rfd_beenhere = ATOMIC_INIT(0); \ | 220 | static atomic_t ___rfd_beenhere = ATOMIC_INIT(0); \ |
221 | \ | 221 | \ |
222 | if (!atomic_read(&___rfd_beenhere) && \ | 222 | if (!atomic_read(&___rfd_beenhere) && \ |
223 | !atomic_xchg(&___rfd_beenhere, 1)) \ | 223 | !atomic_xchg(&___rfd_beenhere, 1)) { \ |
224 | tracing_off(); \ | ||
224 | ftrace_dump(oops_dump_mode); \ | 225 | ftrace_dump(oops_dump_mode); \ |
226 | } \ | ||
225 | } while (0) | 227 | } while (0) |
226 | 228 | ||
227 | void rcu_early_boot_tests(void); | 229 | void rcu_early_boot_tests(void); |