diff options
author | Paul E. McKenney <paul.mckenney@linaro.org> | 2012-05-09 18:55:39 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2012-07-02 15:34:42 -0400 |
commit | bf1304e9cd755be7814ac8365834b7a1d0f06b58 (patch) | |
tree | 0bbbb761dc42af26e555e6257bd280e5d390fee0 | |
parent | cba6d0d64ee53772b285d0c0c288deefbeaf7775 (diff) |
rcu: Dump only the current CPU's buffers for idle-entry/exit warnings
Problems in RCU idle entry and exit are almost always confined to the
offending CPU. This commit therefore switches ftrace_dump() from
DUMP_ALL to DUMP_ORIG.
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Tested-by: Pascal Chapperon <pascal.chapperon@wanadoo.fr>
-rw-r--r-- | kernel/rcutree.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c index 4b97bba7396e..6eb48f13eeeb 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c | |||
@@ -358,7 +358,7 @@ static void rcu_idle_enter_common(struct rcu_dynticks *rdtp, long long oldval) | |||
358 | struct task_struct *idle = idle_task(smp_processor_id()); | 358 | struct task_struct *idle = idle_task(smp_processor_id()); |
359 | 359 | ||
360 | trace_rcu_dyntick("Error on entry: not idle task", oldval, 0); | 360 | trace_rcu_dyntick("Error on entry: not idle task", oldval, 0); |
361 | ftrace_dump(DUMP_ALL); | 361 | ftrace_dump(DUMP_ORIG); |
362 | WARN_ONCE(1, "Current pid: %d comm: %s / Idle pid: %d comm: %s", | 362 | WARN_ONCE(1, "Current pid: %d comm: %s / Idle pid: %d comm: %s", |
363 | current->pid, current->comm, | 363 | current->pid, current->comm, |
364 | idle->pid, idle->comm); /* must be idle task! */ | 364 | idle->pid, idle->comm); /* must be idle task! */ |
@@ -468,7 +468,7 @@ static void rcu_idle_exit_common(struct rcu_dynticks *rdtp, long long oldval) | |||
468 | 468 | ||
469 | trace_rcu_dyntick("Error on exit: not idle task", | 469 | trace_rcu_dyntick("Error on exit: not idle task", |
470 | oldval, rdtp->dynticks_nesting); | 470 | oldval, rdtp->dynticks_nesting); |
471 | ftrace_dump(DUMP_ALL); | 471 | ftrace_dump(DUMP_ORIG); |
472 | WARN_ONCE(1, "Current pid: %d comm: %s / Idle pid: %d comm: %s", | 472 | WARN_ONCE(1, "Current pid: %d comm: %s / Idle pid: %d comm: %s", |
473 | current->pid, current->comm, | 473 | current->pid, current->comm, |
474 | idle->pid, idle->comm); /* must be idle task! */ | 474 | idle->pid, idle->comm); /* must be idle task! */ |