diff options
Diffstat (limited to 'include/linux/ftrace_event.h')
| -rw-r--r-- | include/linux/ftrace_event.h | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index 4ec5e67e18cf..38f8d6553831 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h | |||
| @@ -57,6 +57,7 @@ struct trace_iterator { | |||
| 57 | /* The below is zeroed out in pipe_read */ | 57 | /* The below is zeroed out in pipe_read */ |
| 58 | struct trace_seq seq; | 58 | struct trace_seq seq; |
| 59 | struct trace_entry *ent; | 59 | struct trace_entry *ent; |
| 60 | int leftover; | ||
| 60 | int cpu; | 61 | int cpu; |
| 61 | u64 ts; | 62 | u64 ts; |
| 62 | 63 | ||
| @@ -117,12 +118,12 @@ struct ftrace_event_call { | |||
| 117 | struct dentry *dir; | 118 | struct dentry *dir; |
| 118 | struct trace_event *event; | 119 | struct trace_event *event; |
| 119 | int enabled; | 120 | int enabled; |
| 120 | int (*regfunc)(void *); | 121 | int (*regfunc)(struct ftrace_event_call *); |
| 121 | void (*unregfunc)(void *); | 122 | void (*unregfunc)(struct ftrace_event_call *); |
| 122 | int id; | 123 | int id; |
| 123 | int (*raw_init)(void); | 124 | int (*raw_init)(struct ftrace_event_call *); |
| 124 | int (*show_format)(struct ftrace_event_call *call, | 125 | int (*show_format)(struct ftrace_event_call *, |
| 125 | struct trace_seq *s); | 126 | struct trace_seq *); |
| 126 | int (*define_fields)(struct ftrace_event_call *); | 127 | int (*define_fields)(struct ftrace_event_call *); |
| 127 | struct list_head fields; | 128 | struct list_head fields; |
| 128 | int filter_active; | 129 | int filter_active; |
| @@ -131,20 +132,20 @@ struct ftrace_event_call { | |||
| 131 | void *data; | 132 | void *data; |
| 132 | 133 | ||
| 133 | atomic_t profile_count; | 134 | atomic_t profile_count; |
| 134 | int (*profile_enable)(void); | 135 | int (*profile_enable)(struct ftrace_event_call *); |
| 135 | void (*profile_disable)(void); | 136 | void (*profile_disable)(struct ftrace_event_call *); |
| 136 | }; | 137 | }; |
| 137 | 138 | ||
| 138 | #define FTRACE_MAX_PROFILE_SIZE 2048 | 139 | #define FTRACE_MAX_PROFILE_SIZE 2048 |
| 139 | 140 | ||
| 140 | extern char *trace_profile_buf; | 141 | extern char *perf_trace_buf; |
| 141 | extern char *trace_profile_buf_nmi; | 142 | extern char *perf_trace_buf_nmi; |
| 142 | 143 | ||
| 143 | #define MAX_FILTER_PRED 32 | 144 | #define MAX_FILTER_PRED 32 |
| 144 | #define MAX_FILTER_STR_VAL 256 /* Should handle KSYM_SYMBOL_LEN */ | 145 | #define MAX_FILTER_STR_VAL 256 /* Should handle KSYM_SYMBOL_LEN */ |
| 145 | 146 | ||
| 146 | extern void destroy_preds(struct ftrace_event_call *call); | 147 | extern void destroy_preds(struct ftrace_event_call *call); |
| 147 | extern int filter_match_preds(struct ftrace_event_call *call, void *rec); | 148 | extern int filter_match_preds(struct event_filter *filter, void *rec); |
| 148 | extern int filter_current_check_discard(struct ring_buffer *buffer, | 149 | extern int filter_current_check_discard(struct ring_buffer *buffer, |
| 149 | struct ftrace_event_call *call, | 150 | struct ftrace_event_call *call, |
| 150 | void *rec, | 151 | void *rec, |
| @@ -157,11 +158,12 @@ enum { | |||
| 157 | FILTER_PTR_STRING, | 158 | FILTER_PTR_STRING, |
| 158 | }; | 159 | }; |
| 159 | 160 | ||
| 160 | extern int trace_define_field(struct ftrace_event_call *call, | ||
| 161 | const char *type, const char *name, | ||
| 162 | int offset, int size, int is_signed, | ||
| 163 | int filter_type); | ||
| 164 | extern int trace_define_common_fields(struct ftrace_event_call *call); | 161 | extern int trace_define_common_fields(struct ftrace_event_call *call); |
| 162 | extern int trace_define_field(struct ftrace_event_call *call, const char *type, | ||
| 163 | const char *name, int offset, int size, | ||
| 164 | int is_signed, int filter_type); | ||
| 165 | extern int trace_add_event_call(struct ftrace_event_call *call); | ||
| 166 | extern void trace_remove_event_call(struct ftrace_event_call *call); | ||
| 165 | 167 | ||
| 166 | #define is_signed_type(type) (((type)(-1)) < 0) | 168 | #define is_signed_type(type) (((type)(-1)) < 0) |
| 167 | 169 | ||
| @@ -186,4 +188,13 @@ do { \ | |||
| 186 | __trace_printk(ip, fmt, ##args); \ | 188 | __trace_printk(ip, fmt, ##args); \ |
| 187 | } while (0) | 189 | } while (0) |
| 188 | 190 | ||
| 191 | #ifdef CONFIG_EVENT_PROFILE | ||
| 192 | struct perf_event; | ||
| 193 | extern int ftrace_profile_enable(int event_id); | ||
| 194 | extern void ftrace_profile_disable(int event_id); | ||
| 195 | extern int ftrace_profile_set_filter(struct perf_event *event, int event_id, | ||
| 196 | char *filter_str); | ||
| 197 | extern void ftrace_profile_free_filter(struct perf_event *event); | ||
| 198 | #endif | ||
| 199 | |||
| 189 | #endif /* _LINUX_FTRACE_EVENT_H */ | 200 | #endif /* _LINUX_FTRACE_EVENT_H */ |
