brintos

brintos / linux-shallow public Read only

0
0
Text · 1.8 KiB · bae649e Raw
85 lines · c
1#ifndef __PERF_FTRACE_H__2#define __PERF_FTRACE_H__3 4#include <linux/list.h>5 6#include "target.h"7 8struct evlist;9struct hashamp;10 11struct perf_ftrace {12	struct evlist		*evlist;13	struct target		target;14	const char		*tracer;15	struct list_head	filters;16	struct list_head	notrace;17	struct list_head	graph_funcs;18	struct list_head	nograph_funcs;19	struct hashmap		*profile_hash;20	unsigned long		percpu_buffer_size;21	bool			inherit;22	bool			use_nsec;23	int			graph_depth;24	int			func_stack_trace;25	int			func_irq_info;26	int			graph_nosleep_time;27	int			graph_noirqs;28	int			graph_verbose;29	int			graph_thresh;30	int			graph_tail;31};32 33struct filter_entry {34	struct list_head	list;35	char			name[];36};37 38#define NUM_BUCKET  22  /* 20 + 2 (for outliers in both direction) */39 40#ifdef HAVE_BPF_SKEL41 42int perf_ftrace__latency_prepare_bpf(struct perf_ftrace *ftrace);43int perf_ftrace__latency_start_bpf(struct perf_ftrace *ftrace);44int perf_ftrace__latency_stop_bpf(struct perf_ftrace *ftrace);45int perf_ftrace__latency_read_bpf(struct perf_ftrace *ftrace,46				  int buckets[]);47int perf_ftrace__latency_cleanup_bpf(struct perf_ftrace *ftrace);48 49#else  /* !HAVE_BPF_SKEL */50 51static inline int52perf_ftrace__latency_prepare_bpf(struct perf_ftrace *ftrace __maybe_unused)53{54	return -1;55}56 57static inline int58perf_ftrace__latency_start_bpf(struct perf_ftrace *ftrace __maybe_unused)59{60	return -1;61}62 63static inline int64perf_ftrace__latency_stop_bpf(struct perf_ftrace *ftrace __maybe_unused)65{66	return -1;67}68 69static inline int70perf_ftrace__latency_read_bpf(struct perf_ftrace *ftrace __maybe_unused,71			      int buckets[] __maybe_unused)72{73	return -1;74}75 76static inline int77perf_ftrace__latency_cleanup_bpf(struct perf_ftrace *ftrace __maybe_unused)78{79	return -1;80}81 82#endif  /* HAVE_BPF_SKEL */83 84#endif  /* __PERF_FTRACE_H__ */85