Lines Matching defs:trace
214 struct perf_callchain_entry *trace, u64 flags)
224 if (trace->nr <= skip)
225 /* skipping more than usable stack trace */
228 trace_nr = trace->nr - skip;
230 ips = trace->ip + skip;
289 struct perf_callchain_entry *trace;
300 trace = get_perf_callchain(regs, 0, kernel, user, max_depth,
303 if (unlikely(!trace))
304 /* couldn't fetch the stack trace */
307 return __bpf_get_stackid(map, trace, flags);
319 static __u64 count_kernel_ip(struct perf_callchain_entry *trace)
323 while (nr_kernel < trace->nr) {
324 if (trace->ip[nr_kernel] == PERF_CONTEXT_USER)
335 struct perf_callchain_entry *trace;
352 trace = ctx->data->callchain;
353 if (unlikely(!trace))
356 nr_kernel = count_kernel_ip(trace);
359 __u64 nr = trace->nr;
361 trace->nr = nr_kernel;
362 ret = __bpf_get_stackid(map, trace, flags);
365 trace->nr = nr;
374 ret = __bpf_get_stackid(map, trace, flags);
397 struct perf_callchain_entry *trace;
431 trace = trace_in;
433 trace = get_callchain_entry_for_task(task, max_depth);
435 trace = get_perf_callchain(regs, 0, kernel, user, max_depth,
437 if (unlikely(!trace))
440 if (trace->nr < skip)
443 trace_nr = trace->nr - skip;
447 ips = trace->ip + skip;
513 struct perf_callchain_entry *trace;
529 trace = ctx->data->callchain;
530 if (unlikely(!trace))
533 nr_kernel = count_kernel_ip(trace);
536 __u64 nr = trace->nr;
538 trace->nr = nr_kernel;
539 err = __bpf_get_stack(regs, NULL, trace, buf, size, flags);
542 trace->nr = nr;
551 err = __bpf_get_stack(regs, NULL, trace, buf, size, flags);