diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index c56fc5e6013324a9f485300dcfe52be0a4f2974e..3dc6eac85b1111e971f05405cf25086e0627eb27 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -107,7 +107,7 @@ static struct trace_array	max_tr;
 
 static DEFINE_PER_CPU(struct trace_array_cpu, max_data);
 
-static int			tracer_enabled;
+static int			tracer_enabled = 1;
 static unsigned long		trace_nr_entries = 16384UL;
 
 static struct tracer		*trace_types __read_mostly;
@@ -2268,6 +2268,8 @@ __init static int tracer_alloc_buffers(void)
 	int ret = -ENOMEM;
 	int i;
 
+	global_trace.ctrl = tracer_enabled;
+
 	/* Allocate the first page for all buffers */
 	for_each_possible_cpu(i) {
 		data = global_trace.data[i] = &per_cpu(global_trace_cpu, i);