forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.7 KiB
81 lines
1.7 KiB
#ifndef __PERF_FTRACE_H__ |
|
#define __PERF_FTRACE_H__ |
|
|
|
#include <linux/list.h> |
|
|
|
#include "target.h" |
|
|
|
struct evlist; |
|
|
|
struct perf_ftrace { |
|
struct evlist *evlist; |
|
struct target target; |
|
const char *tracer; |
|
struct list_head filters; |
|
struct list_head notrace; |
|
struct list_head graph_funcs; |
|
struct list_head nograph_funcs; |
|
unsigned long percpu_buffer_size; |
|
bool inherit; |
|
int graph_depth; |
|
int func_stack_trace; |
|
int func_irq_info; |
|
int graph_nosleep_time; |
|
int graph_noirqs; |
|
int graph_verbose; |
|
int graph_thresh; |
|
unsigned int initial_delay; |
|
}; |
|
|
|
struct filter_entry { |
|
struct list_head list; |
|
char name[]; |
|
}; |
|
|
|
#define NUM_BUCKET 22 /* 20 + 2 (for outliers in both direction) */ |
|
|
|
#ifdef HAVE_BPF_SKEL |
|
|
|
int perf_ftrace__latency_prepare_bpf(struct perf_ftrace *ftrace); |
|
int perf_ftrace__latency_start_bpf(struct perf_ftrace *ftrace); |
|
int perf_ftrace__latency_stop_bpf(struct perf_ftrace *ftrace); |
|
int perf_ftrace__latency_read_bpf(struct perf_ftrace *ftrace, |
|
int buckets[]); |
|
int perf_ftrace__latency_cleanup_bpf(struct perf_ftrace *ftrace); |
|
|
|
#else /* !HAVE_BPF_SKEL */ |
|
|
|
static inline int |
|
perf_ftrace__latency_prepare_bpf(struct perf_ftrace *ftrace __maybe_unused) |
|
{ |
|
return -1; |
|
} |
|
|
|
static inline int |
|
perf_ftrace__latency_start_bpf(struct perf_ftrace *ftrace __maybe_unused) |
|
{ |
|
return -1; |
|
} |
|
|
|
static inline int |
|
perf_ftrace__latency_stop_bpf(struct perf_ftrace *ftrace __maybe_unused) |
|
{ |
|
return -1; |
|
} |
|
|
|
static inline int |
|
perf_ftrace__latency_read_bpf(struct perf_ftrace *ftrace __maybe_unused, |
|
int buckets[] __maybe_unused) |
|
{ |
|
return -1; |
|
} |
|
|
|
static inline int |
|
perf_ftrace__latency_cleanup_bpf(struct perf_ftrace *ftrace __maybe_unused) |
|
{ |
|
return -1; |
|
} |
|
|
|
#endif /* HAVE_BPF_SKEL */ |
|
|
|
#endif /* __PERF_FTRACE_H__ */
|
|
|