Lines Matching refs:trace
15 static int save_stack_address(struct stack_trace *trace, unsigned long addr, in save_stack_address() argument
21 if (trace->skip > 0) { in save_stack_address()
22 trace->skip--; in save_stack_address()
26 if (trace->nr_entries >= trace->max_entries) in save_stack_address()
29 trace->entries[trace->nr_entries++] = addr; in save_stack_address()
33 static void noinline __save_stack_trace(struct stack_trace *trace, in __save_stack_trace() argument
41 save_stack_address(trace, regs->ip, nosched); in __save_stack_trace()
46 if (!addr || save_stack_address(trace, addr, nosched)) in __save_stack_trace()
50 if (trace->nr_entries < trace->max_entries) in __save_stack_trace()
51 trace->entries[trace->nr_entries++] = ULONG_MAX; in __save_stack_trace()
57 void save_stack_trace(struct stack_trace *trace) in save_stack_trace() argument
59 trace->skip++; in save_stack_trace()
60 __save_stack_trace(trace, current, NULL, false); in save_stack_trace()
64 void save_stack_trace_regs(struct pt_regs *regs, struct stack_trace *trace) in save_stack_trace_regs() argument
66 __save_stack_trace(trace, current, regs, false); in save_stack_trace_regs()
69 void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) in save_stack_trace_tsk() argument
75 trace->skip++; in save_stack_trace_tsk()
76 __save_stack_trace(trace, tsk, NULL, true); in save_stack_trace_tsk()
85 __save_stack_trace_reliable(struct stack_trace *trace, in __save_stack_trace_reliable() argument
123 if (save_stack_address(trace, addr, false)) in __save_stack_trace_reliable()
136 if (trace->nr_entries < trace->max_entries) in __save_stack_trace_reliable()
137 trace->entries[trace->nr_entries++] = ULONG_MAX; in __save_stack_trace_reliable()
149 struct stack_trace *trace) in save_stack_trace_tsk_reliable() argument
160 ret = __save_stack_trace_reliable(trace, tsk); in save_stack_trace_tsk_reliable()
192 static inline void __save_stack_trace_user(struct stack_trace *trace) in __save_stack_trace_user() argument
197 if (trace->nr_entries < trace->max_entries) in __save_stack_trace_user()
198 trace->entries[trace->nr_entries++] = regs->ip; in __save_stack_trace_user()
200 while (trace->nr_entries < trace->max_entries) { in __save_stack_trace_user()
210 trace->entries[trace->nr_entries++] = in __save_stack_trace_user()
219 void save_stack_trace_user(struct stack_trace *trace) in save_stack_trace_user() argument
225 __save_stack_trace_user(trace); in save_stack_trace_user()
227 if (trace->nr_entries < trace->max_entries) in save_stack_trace_user()
228 trace->entries[trace->nr_entries++] = ULONG_MAX; in save_stack_trace_user()