Linux Audio

Check our new training course

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__ */