Lines Matching refs:ret_stack

68 	if (!current->ret_stack)  in ftrace_push_return_trace()
87 current->ret_stack[index].ret = ret; in ftrace_push_return_trace()
88 current->ret_stack[index].func = func; in ftrace_push_return_trace()
89 current->ret_stack[index].calltime = calltime; in ftrace_push_return_trace()
91 current->ret_stack[index].fp = frame_pointer; in ftrace_push_return_trace()
94 current->ret_stack[index].retp = retp; in ftrace_push_return_trace()
154 if (unlikely(current->ret_stack[index].fp != frame_pointer)) { in ftrace_pop_return_trace()
158 current->ret_stack[index].fp, in ftrace_pop_return_trace()
160 (void *)current->ret_stack[index].func, in ftrace_pop_return_trace()
161 current->ret_stack[index].ret); in ftrace_pop_return_trace()
167 *ret = current->ret_stack[index].ret; in ftrace_pop_return_trace()
168 trace->func = current->ret_stack[index].func; in ftrace_pop_return_trace()
169 trace->calltime = current->ret_stack[index].calltime; in ftrace_pop_return_trace()
252 return &task->ret_stack[idx]; in ftrace_graph_get_ret_stack()
286 if (task->ret_stack[i].retp == retp) in ftrace_graph_ret_addr()
287 return task->ret_stack[i].ret; in ftrace_graph_ret_addr()
302 if (!task->ret_stack || task_idx < *idx) in ftrace_graph_ret_addr()
308 return task->ret_stack[task_idx].ret; in ftrace_graph_ret_addr()
369 if (t->ret_stack == NULL) { in alloc_retstack_tasklist()
376 t->ret_stack = ret_stack_list[start++]; in alloc_retstack_tasklist()
417 next->ret_stack[index].calltime += timestamp; in ftrace_graph_probe_sched_switch()
463 graph_init_task(struct task_struct *t, struct ftrace_ret_stack *ret_stack) in graph_init_task() argument
470 t->ret_stack = ret_stack; in graph_init_task()
485 if (t->ret_stack) in ftrace_graph_init_idle_task()
486 WARN_ON(t->ret_stack != per_cpu(idle_ret_stack, cpu)); in ftrace_graph_init_idle_task()
489 struct ftrace_ret_stack *ret_stack; in ftrace_graph_init_idle_task() local
491 ret_stack = per_cpu(idle_ret_stack, cpu); in ftrace_graph_init_idle_task()
492 if (!ret_stack) { in ftrace_graph_init_idle_task()
493 ret_stack = in ftrace_graph_init_idle_task()
497 if (!ret_stack) in ftrace_graph_init_idle_task()
499 per_cpu(idle_ret_stack, cpu) = ret_stack; in ftrace_graph_init_idle_task()
501 graph_init_task(t, ret_stack); in ftrace_graph_init_idle_task()
509 t->ret_stack = NULL; in ftrace_graph_init_task()
514 struct ftrace_ret_stack *ret_stack; in ftrace_graph_init_task() local
516 ret_stack = kmalloc_array(FTRACE_RETFUNC_DEPTH, in ftrace_graph_init_task()
519 if (!ret_stack) in ftrace_graph_init_task()
521 graph_init_task(t, ret_stack); in ftrace_graph_init_task()
527 struct ftrace_ret_stack *ret_stack = t->ret_stack; in ftrace_graph_exit_task() local
529 t->ret_stack = NULL; in ftrace_graph_exit_task()
533 kfree(ret_stack); in ftrace_graph_exit_task()
551 if (!idle_task(cpu)->ret_stack) in start_graph_tracing()