diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-09-01 02:47:08 +0300 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2017-10-10 00:25:17 +0300 |
commit | 83b6ca1fede773eebcdfb44f5a94eb410d48b886 (patch) | |
tree | ab005f3313b5d56efe7cbf7757b24c8a1ca190e2 /kernel/rcu/rcu.h | |
parent | 9b9500da81502738efa1b485a8835f174ff7be6d (diff) | |
download | linux-83b6ca1fede773eebcdfb44f5a94eb410d48b886.tar.xz |
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>
Diffstat (limited to 'kernel/rcu/rcu.h')
-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 { \ static atomic_t ___rfd_beenhere = ATOMIC_INIT(0); \ \ if (!atomic_read(&___rfd_beenhere) && \ - !atomic_xchg(&___rfd_beenhere, 1)) \ + !atomic_xchg(&___rfd_beenhere, 1)) { \ + tracing_off(); \ ftrace_dump(oops_dump_mode); \ + } \ } while (0) void rcu_early_boot_tests(void); |