ftrace: fix boot trace sched startup
[firefly-linux-kernel-4.4.55.git] / kernel / trace / trace_boot.c
index d104d5b464131f2e36c0967c9289f4cd331a75f3..662cb9198906e2684b05742327355ff56fda3268 100644 (file)
@@ -27,15 +27,24 @@ void start_boot_trace(void)
 
 void enable_boot_trace(void)
 {
+       if (pre_initcalls_finished)
+               tracing_start_cmdline_record();
 }
 
 void disable_boot_trace(void)
 {
+       if (pre_initcalls_finished)
+               tracing_stop_cmdline_record();
 }
 
-void reset_boot_trace(struct trace_array *tr)
+static void reset_boot_trace(struct trace_array *tr)
 {
-       disable_boot_trace();
+       int cpu;
+
+       tr->time_start = ftrace_now(tr->cpu);
+
+       for_each_online_cpu(cpu)
+               tracing_reset(tr, cpu);
 }
 
 static void boot_trace_init(struct trace_array *tr)
@@ -45,6 +54,8 @@ static void boot_trace_init(struct trace_array *tr)
 
        for_each_cpu_mask(cpu, cpu_possible_map)
                tracing_reset(tr, cpu);
+
+       tracing_cmdline_assign_trace(tr);
 }
 
 static void boot_trace_ctrl_update(struct trace_array *tr)