Quellcode durchsuchen

Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core

Ingo Molnar vor 16 Jahren
Ursprung
Commit
37bd824a35
1 geänderte Dateien mit 5 neuen und 1 gelöschten Zeilen
  1. 5 1
      kernel/trace/ftrace.c

+ 5 - 1
kernel/trace/ftrace.c

@@ -2562,7 +2562,7 @@ free:
 static int start_graph_tracing(void)
 static int start_graph_tracing(void)
 {
 {
 	struct ftrace_ret_stack **ret_stack_list;
 	struct ftrace_ret_stack **ret_stack_list;
-	int ret;
+	int ret, cpu;
 
 
 	ret_stack_list = kmalloc(FTRACE_RETSTACK_ALLOC_SIZE *
 	ret_stack_list = kmalloc(FTRACE_RETSTACK_ALLOC_SIZE *
 				sizeof(struct ftrace_ret_stack *),
 				sizeof(struct ftrace_ret_stack *),
@@ -2571,6 +2571,10 @@ static int start_graph_tracing(void)
 	if (!ret_stack_list)
 	if (!ret_stack_list)
 		return -ENOMEM;
 		return -ENOMEM;
 
 
+	/* The cpu_boot init_task->ret_stack will never be freed */
+	for_each_online_cpu(cpu)
+		ftrace_graph_init_task(idle_task(cpu));
+
 	do {
 	do {
 		ret = alloc_retstack_tasklist(ret_stack_list);
 		ret = alloc_retstack_tasklist(ret_stack_list);
 	} while (ret == -EAGAIN);
 	} while (ret == -EAGAIN);