diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/ftrace_event.h | 8 | ||||
| -rw-r--r-- | include/trace/ftrace.h | 12 |
2 files changed, 8 insertions, 12 deletions
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index a91ab93d7250..ffe642eb84fa 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h | |||
| @@ -202,6 +202,10 @@ extern int ftrace_event_reg(struct ftrace_event_call *event, | |||
| 202 | int ftrace_output_event(struct trace_iterator *iter, struct ftrace_event_call *event, | 202 | int ftrace_output_event(struct trace_iterator *iter, struct ftrace_event_call *event, |
| 203 | char *fmt, ...); | 203 | char *fmt, ...); |
| 204 | 204 | ||
| 205 | int ftrace_event_define_field(struct ftrace_event_call *call, | ||
| 206 | char *type, int len, char *item, int offset, | ||
| 207 | int field_size, int sign, int filter); | ||
| 208 | |||
| 205 | enum { | 209 | enum { |
| 206 | TRACE_EVENT_FL_FILTERED_BIT, | 210 | TRACE_EVENT_FL_FILTERED_BIT, |
| 207 | TRACE_EVENT_FL_CAP_ANY_BIT, | 211 | TRACE_EVENT_FL_CAP_ANY_BIT, |
| @@ -500,10 +504,6 @@ enum { | |||
| 500 | FILTER_TRACE_FN, | 504 | FILTER_TRACE_FN, |
| 501 | }; | 505 | }; |
| 502 | 506 | ||
| 503 | #define EVENT_STORAGE_SIZE 128 | ||
| 504 | extern struct mutex event_storage_mutex; | ||
| 505 | extern char event_storage[EVENT_STORAGE_SIZE]; | ||
| 506 | |||
| 507 | extern int trace_event_raw_init(struct ftrace_event_call *call); | 507 | extern int trace_event_raw_init(struct ftrace_event_call *call); |
| 508 | extern int trace_define_field(struct ftrace_event_call *call, const char *type, | 508 | extern int trace_define_field(struct ftrace_event_call *call, const char *type, |
| 509 | const char *name, int offset, int size, | 509 | const char *name, int offset, int size, |
diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h index 3873d6e4697f..54928faf2119 100644 --- a/include/trace/ftrace.h +++ b/include/trace/ftrace.h | |||
| @@ -302,15 +302,11 @@ static struct trace_event_functions ftrace_event_type_funcs_##call = { \ | |||
| 302 | #undef __array | 302 | #undef __array |
| 303 | #define __array(type, item, len) \ | 303 | #define __array(type, item, len) \ |
| 304 | do { \ | 304 | do { \ |
| 305 | mutex_lock(&event_storage_mutex); \ | ||
| 306 | BUILD_BUG_ON(len > MAX_FILTER_STR_VAL); \ | 305 | BUILD_BUG_ON(len > MAX_FILTER_STR_VAL); \ |
| 307 | snprintf(event_storage, sizeof(event_storage), \ | 306 | ret = ftrace_event_define_field(event_call, #type, len, \ |
| 308 | "%s[%d]", #type, len); \ | 307 | #item, offsetof(typeof(field), item), \ |
| 309 | ret = trace_define_field(event_call, event_storage, #item, \ | 308 | sizeof(field.item), \ |
| 310 | offsetof(typeof(field), item), \ | 309 | is_signed_type(type), FILTER_OTHER); \ |
| 311 | sizeof(field.item), \ | ||
| 312 | is_signed_type(type), FILTER_OTHER); \ | ||
| 313 | mutex_unlock(&event_storage_mutex); \ | ||
| 314 | if (ret) \ | 310 | if (ret) \ |
| 315 | return ret; \ | 311 | return ret; \ |
| 316 | } while (0); | 312 | } while (0); |
