diff options
Diffstat (limited to 'include/linux/ftrace_event.h')
-rw-r--r-- | include/linux/ftrace_event.h | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index dc7fc646fa2e..ee8a8411b055 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h | |||
@@ -180,7 +180,10 @@ struct ftrace_event_call { | |||
180 | */ | 180 | */ |
181 | unsigned int flags; | 181 | unsigned int flags; |
182 | 182 | ||
183 | #ifdef CONFIG_PERF_EVENTS | ||
183 | int perf_refcount; | 184 | int perf_refcount; |
185 | struct hlist_head *perf_events; | ||
186 | #endif | ||
184 | }; | 187 | }; |
185 | 188 | ||
186 | #define PERF_MAX_TRACE_SIZE 2048 | 189 | #define PERF_MAX_TRACE_SIZE 2048 |
@@ -237,24 +240,22 @@ struct perf_event; | |||
237 | 240 | ||
238 | DECLARE_PER_CPU(struct pt_regs, perf_trace_regs); | 241 | DECLARE_PER_CPU(struct pt_regs, perf_trace_regs); |
239 | 242 | ||
240 | extern int perf_trace_enable(int event_id); | 243 | extern int perf_trace_init(struct perf_event *event); |
241 | extern void perf_trace_disable(int event_id); | 244 | extern void perf_trace_destroy(struct perf_event *event); |
242 | extern int ftrace_profile_set_filter(struct perf_event *event, int event_id, | 245 | extern int perf_trace_enable(struct perf_event *event); |
246 | extern void perf_trace_disable(struct perf_event *event); | ||
247 | extern int ftrace_profile_set_filter(struct perf_event *event, int event_id, | ||
243 | char *filter_str); | 248 | char *filter_str); |
244 | extern void ftrace_profile_free_filter(struct perf_event *event); | 249 | extern void ftrace_profile_free_filter(struct perf_event *event); |
245 | extern void * | 250 | extern void *perf_trace_buf_prepare(int size, unsigned short type, |
246 | perf_trace_buf_prepare(int size, unsigned short type, int *rctxp, | 251 | struct pt_regs *regs, int *rctxp); |
247 | unsigned long *irq_flags); | ||
248 | 252 | ||
249 | static inline void | 253 | static inline void |
250 | perf_trace_buf_submit(void *raw_data, int size, int rctx, u64 addr, | 254 | perf_trace_buf_submit(void *raw_data, int size, int rctx, u64 addr, |
251 | u64 count, unsigned long irq_flags, struct pt_regs *regs) | 255 | u64 count, struct pt_regs *regs, void *head) |
252 | { | 256 | { |
253 | struct trace_entry *entry = raw_data; | 257 | perf_tp_event(addr, count, raw_data, size, regs, head); |
254 | |||
255 | perf_tp_event(entry->type, addr, count, raw_data, size, regs); | ||
256 | perf_swevent_put_recursion_context(rctx); | 258 | perf_swevent_put_recursion_context(rctx); |
257 | local_irq_restore(irq_flags); | ||
258 | } | 259 | } |
259 | #endif | 260 | #endif |
260 | 261 | ||