Lines Matching refs:fbuf
59 if (s->fbuf && s->fbuf->syscall_trace_enabled && in get_fbuf()
60 !s->fbuf->syscall_trace_suspended) in get_fbuf()
61 return s->fbuf; in get_fbuf()
69 static void __noprof add_elem(struct ftrace_buf *fbuf, uint8_t level, in add_elem() argument
73 size_t idx = fbuf->curr_idx; in add_elem()
78 elem = (uint64_t *)((vaddr_t)fbuf + fbuf->buf_off) + idx; in add_elem()
82 if ((idx + 1) * sizeof(*elem) > fbuf->max_size) { in add_elem()
84 fbuf->overflow = true; in add_elem()
87 fbuf->curr_idx = idx; in add_elem()
93 struct ftrace_buf *fbuf = get_fbuf(); in ftrace_enter() local
95 if (!fbuf || !fbuf->buf_off || !fbuf->max_size) in ftrace_enter()
98 add_elem(fbuf, fbuf->ret_idx + 1, pc); in ftrace_enter()
100 if (fbuf->ret_idx < FTRACE_RETFUNC_DEPTH) { in ftrace_enter()
101 fbuf->ret_stack[fbuf->ret_idx] = *lr; in ftrace_enter()
102 fbuf->begin_time[fbuf->ret_idx] = now; in ftrace_enter()
103 fbuf->ret_idx++; in ftrace_enter()
122 struct ftrace_buf *fbuf = get_fbuf(); in ftrace_return() local
127 if (!fbuf || !fbuf->ret_idx || fbuf->ret_idx > FTRACE_RETFUNC_DEPTH) in ftrace_return()
130 fbuf->ret_idx--; in ftrace_return()
131 start = fbuf->begin_time[fbuf->ret_idx]; in ftrace_return()
133 add_elem(fbuf, 0, elapsed); in ftrace_return()
135 return fbuf->ret_stack[fbuf->ret_idx]; in ftrace_return()