diff options
Diffstat (limited to 'include/linux/ftrace_event.h')
| -rw-r--r-- | include/linux/ftrace_event.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index 6b7c444ab8f6..ac424f18ce63 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h | |||
| @@ -187,6 +187,9 @@ do { \ | |||
| 187 | 187 | ||
| 188 | #ifdef CONFIG_PERF_EVENTS | 188 | #ifdef CONFIG_PERF_EVENTS |
| 189 | struct perf_event; | 189 | struct perf_event; |
| 190 | |||
| 191 | DECLARE_PER_CPU(struct pt_regs, perf_trace_regs); | ||
| 192 | |||
| 190 | extern int ftrace_profile_enable(int event_id); | 193 | extern int ftrace_profile_enable(int event_id); |
| 191 | extern void ftrace_profile_disable(int event_id); | 194 | extern void ftrace_profile_disable(int event_id); |
| 192 | extern int ftrace_profile_set_filter(struct perf_event *event, int event_id, | 195 | extern int ftrace_profile_set_filter(struct perf_event *event, int event_id, |
| @@ -198,11 +201,11 @@ ftrace_perf_buf_prepare(int size, unsigned short type, int *rctxp, | |||
| 198 | 201 | ||
| 199 | static inline void | 202 | static inline void |
| 200 | ftrace_perf_buf_submit(void *raw_data, int size, int rctx, u64 addr, | 203 | ftrace_perf_buf_submit(void *raw_data, int size, int rctx, u64 addr, |
| 201 | u64 count, unsigned long irq_flags) | 204 | u64 count, unsigned long irq_flags, struct pt_regs *regs) |
| 202 | { | 205 | { |
| 203 | struct trace_entry *entry = raw_data; | 206 | struct trace_entry *entry = raw_data; |
| 204 | 207 | ||
| 205 | perf_tp_event(entry->type, addr, count, raw_data, size); | 208 | perf_tp_event(entry->type, addr, count, raw_data, size, regs); |
| 206 | perf_swevent_put_recursion_context(rctx); | 209 | perf_swevent_put_recursion_context(rctx); |
| 207 | local_irq_restore(irq_flags); | 210 | local_irq_restore(irq_flags); |
| 208 | } | 211 | } |
