diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2008-10-31 12:34:45 (GMT) |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-04 16:14:08 (GMT) |
commit | 79a9d461fd521f133f0e66485aa9ed09c21f5191 (patch) | |
tree | ad90b0c05dabfa639855ee046c04bba77de85804 | |
parent | efade6e7821c4219818e9da08f9315dfa617048b (diff) | |
download | linux-79a9d461fd521f133f0e66485aa9ed09c21f5191.tar.xz |
tracing/ftrace: fix a bug when switch current tracer to sched tracer
Impact: fix boot tracer + sched tracer coupling bug
Fix a bug that made the sched_switch tracer unable to run
if set as the current_tracer after the boot tracer.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | kernel/trace/trace_boot.c | 4 | ||||
-rw-r--r-- | kernel/trace/trace_sched_switch.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/kernel/trace/trace_boot.c b/kernel/trace/trace_boot.c index 6bbc879..bd5046c 100644 --- a/kernel/trace/trace_boot.c +++ b/kernel/trace/trace_boot.c @@ -37,9 +37,9 @@ void disable_boot_trace(void) tracing_stop_cmdline_record(); } -void reset_boot_trace(struct trace_array *tr) +static void reset_boot_trace(struct trace_array *tr) { - disable_boot_trace(); + sched_switch_trace.reset(tr); } static void boot_trace_init(struct trace_array *tr) diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c index 969953b..888944d 100644 --- a/kernel/trace/trace_sched_switch.c +++ b/kernel/trace/trace_sched_switch.c @@ -173,7 +173,7 @@ static void sched_switch_trace_init(struct trace_array *tr) static void sched_switch_trace_reset(struct trace_array *tr) { - if (tr->ctrl) + if (tr->ctrl && sched_ref) stop_sched_trace(tr); } |