Loading...
Note: File does not exist in v5.4.
1#ifndef __PERF_FTRACE_H__
2#define __PERF_FTRACE_H__
3
4#include <linux/list.h>
5
6#include "target.h"
7
8struct evlist;
9
10struct perf_ftrace {
11 struct evlist *evlist;
12 struct target target;
13 const char *tracer;
14 struct list_head filters;
15 struct list_head notrace;
16 struct list_head graph_funcs;
17 struct list_head nograph_funcs;
18 unsigned long percpu_buffer_size;
19 bool inherit;
20 bool use_nsec;
21 int graph_depth;
22 int func_stack_trace;
23 int func_irq_info;
24 int graph_nosleep_time;
25 int graph_noirqs;
26 int graph_verbose;
27 int graph_thresh;
28 unsigned int initial_delay;
29};
30
31struct filter_entry {
32 struct list_head list;
33 char name[];
34};
35
36#define NUM_BUCKET 22 /* 20 + 2 (for outliers in both direction) */
37
38#ifdef HAVE_BPF_SKEL
39
40int perf_ftrace__latency_prepare_bpf(struct perf_ftrace *ftrace);
41int perf_ftrace__latency_start_bpf(struct perf_ftrace *ftrace);
42int perf_ftrace__latency_stop_bpf(struct perf_ftrace *ftrace);
43int perf_ftrace__latency_read_bpf(struct perf_ftrace *ftrace,
44 int buckets[]);
45int perf_ftrace__latency_cleanup_bpf(struct perf_ftrace *ftrace);
46
47#else /* !HAVE_BPF_SKEL */
48
49static inline int
50perf_ftrace__latency_prepare_bpf(struct perf_ftrace *ftrace __maybe_unused)
51{
52 return -1;
53}
54
55static inline int
56perf_ftrace__latency_start_bpf(struct perf_ftrace *ftrace __maybe_unused)
57{
58 return -1;
59}
60
61static inline int
62perf_ftrace__latency_stop_bpf(struct perf_ftrace *ftrace __maybe_unused)
63{
64 return -1;
65}
66
67static inline int
68perf_ftrace__latency_read_bpf(struct perf_ftrace *ftrace __maybe_unused,
69 int buckets[] __maybe_unused)
70{
71 return -1;
72}
73
74static inline int
75perf_ftrace__latency_cleanup_bpf(struct perf_ftrace *ftrace __maybe_unused)
76{
77 return -1;
78}
79
80#endif /* HAVE_BPF_SKEL */
81
82#endif /* __PERF_FTRACE_H__ */