summaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
authorPaul E. McKenney2016-02-17 20:54:28 +0100
committerPaul E. McKenney2016-03-31 22:36:37 +0200
commit5dffed1e5721f6deae4fd67d32386ef037c5fc56 (patch)
tree58b771abe1f2344ac4a97454b4d405d8f7a685d7 /kernel/rcu/tree.c
parentrcu: Remove superfluous versions of rcu_read_lock_sched_held() (diff)
downloadkernel-qcow2-linux-5dffed1e5721f6deae4fd67d32386ef037c5fc56.tar.gz
kernel-qcow2-linux-5dffed1e5721f6deae4fd67d32386ef037c5fc56.tar.xz
kernel-qcow2-linux-5dffed1e5721f6deae4fd67d32386ef037c5fc56.zip
rcu: Dump ftrace buffer when kicking grace-period kthread
If it is necessary to kick the grace-period kthread, that is a good time to dump the trace buffer in order to learn why kicking was needed. This commit therefore does the dump. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r--kernel/rcu/tree.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index a739292be605..86edb92276d3 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1266,6 +1266,7 @@ static void rcu_stall_kick_kthreads(struct rcu_state *rsp)
j = READ_ONCE(rsp->jiffies_kick_kthreads);
if (time_after(jiffies, j) && rsp->gp_kthread) {
WARN_ONCE(1, "Kicking %s grace-period kthread\n", rsp->name);
+ rcu_ftrace_dump(DUMP_ALL);
wake_up_process(rsp->gp_kthread);
WRITE_ONCE(rsp->jiffies_kick_kthreads, j + HZ);
}