Merge branches 'tracing/ftrace' and 'tracing/urgent' into tracing/core
This commit is contained in:
@@ -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);
|
||||||
|
Reference in New Issue
Block a user