aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2008-10-31 08:34:45 -0400
committerIngo Molnar <mingo@elte.hu>2008-11-04 11:14:08 -0500
commit79a9d461fd521f133f0e66485aa9ed09c21f5191 (patch)
treead90b0c05dabfa639855ee046c04bba77de85804 /kernel/trace
parentefade6e7821c4219818e9da08f9315dfa617048b (diff)
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>
Diffstat (limited to 'kernel/trace')
-rw-r--r--kernel/trace/trace_boot.c4
-rw-r--r--kernel/trace/trace_sched_switch.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/kernel/trace/trace_boot.c b/kernel/trace/trace_boot.c
index 6bbc8794a6df..bd5046c9deb7 100644
--- a/kernel/trace/trace_boot.c
+++ b/kernel/trace/trace_boot.c
@@ -37,9 +37,9 @@ void disable_boot_trace(void)
37 tracing_stop_cmdline_record(); 37 tracing_stop_cmdline_record();
38} 38}
39 39
40void reset_boot_trace(struct trace_array *tr) 40static void reset_boot_trace(struct trace_array *tr)
41{ 41{
42 disable_boot_trace(); 42 sched_switch_trace.reset(tr);
43} 43}
44 44
45static void boot_trace_init(struct trace_array *tr) 45static 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 969953bf678f..888944d3409d 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)
173 173
174static void sched_switch_trace_reset(struct trace_array *tr) 174static void sched_switch_trace_reset(struct trace_array *tr)
175{ 175{
176 if (tr->ctrl) 176 if (tr->ctrl && sched_ref)
177 stop_sched_trace(tr); 177 stop_sched_trace(tr);
178} 178}
179 179