diff options
Diffstat (limited to 'include/linux/ftrace_event.h')
-rw-r--r-- | include/linux/ftrace_event.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index 0a09e758c7d3..cd95919d9ff3 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #include <linux/trace_seq.h> | 5 | #include <linux/trace_seq.h> |
6 | #include <linux/percpu.h> | 6 | #include <linux/percpu.h> |
7 | #include <linux/hardirq.h> | 7 | #include <linux/hardirq.h> |
8 | #include <linux/perf_event.h> | ||
8 | 9 | ||
9 | struct trace_array; | 10 | struct trace_array; |
10 | struct tracer; | 11 | struct tracer; |
@@ -138,9 +139,6 @@ struct ftrace_event_call { | |||
138 | 139 | ||
139 | #define FTRACE_MAX_PROFILE_SIZE 2048 | 140 | #define FTRACE_MAX_PROFILE_SIZE 2048 |
140 | 141 | ||
141 | extern char *perf_trace_buf; | ||
142 | extern char *perf_trace_buf_nmi; | ||
143 | |||
144 | #define MAX_FILTER_PRED 32 | 142 | #define MAX_FILTER_PRED 32 |
145 | #define MAX_FILTER_STR_VAL 256 /* Should handle KSYM_SYMBOL_LEN */ | 143 | #define MAX_FILTER_STR_VAL 256 /* Should handle KSYM_SYMBOL_LEN */ |
146 | 144 | ||
@@ -195,6 +193,20 @@ extern void ftrace_profile_disable(int event_id); | |||
195 | extern int ftrace_profile_set_filter(struct perf_event *event, int event_id, | 193 | extern int ftrace_profile_set_filter(struct perf_event *event, int event_id, |
196 | char *filter_str); | 194 | char *filter_str); |
197 | extern void ftrace_profile_free_filter(struct perf_event *event); | 195 | extern void ftrace_profile_free_filter(struct perf_event *event); |
196 | extern void * | ||
197 | ftrace_perf_buf_prepare(int size, unsigned short type, int *rctxp, | ||
198 | unsigned long *irq_flags); | ||
199 | |||
200 | static inline void | ||
201 | ftrace_perf_buf_submit(void *raw_data, int size, int rctx, u64 addr, | ||
202 | u64 count, unsigned long irq_flags) | ||
203 | { | ||
204 | struct trace_entry *entry = raw_data; | ||
205 | |||
206 | perf_tp_event(entry->type, addr, count, raw_data, size); | ||
207 | perf_swevent_put_recursion_context(rctx); | ||
208 | local_irq_restore(irq_flags); | ||
209 | } | ||
198 | #endif | 210 | #endif |
199 | 211 | ||
200 | #endif /* _LINUX_FTRACE_EVENT_H */ | 212 | #endif /* _LINUX_FTRACE_EVENT_H */ |