diff options
Diffstat (limited to 'kernel/trace/trace_export.c')
| -rw-r--r-- | kernel/trace/trace_export.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/kernel/trace/trace_export.c b/kernel/trace/trace_export.c index d06cf898dc86..df1bf6e48bb9 100644 --- a/kernel/trace/trace_export.c +++ b/kernel/trace/trace_export.c | |||
| @@ -60,7 +60,8 @@ extern void __bad_type_size(void); | |||
| 60 | #undef TRACE_EVENT_FORMAT | 60 | #undef TRACE_EVENT_FORMAT |
| 61 | #define TRACE_EVENT_FORMAT(call, proto, args, fmt, tstruct, tpfmt) \ | 61 | #define TRACE_EVENT_FORMAT(call, proto, args, fmt, tstruct, tpfmt) \ |
| 62 | static int \ | 62 | static int \ |
| 63 | ftrace_format_##call(struct trace_seq *s) \ | 63 | ftrace_format_##call(struct ftrace_event_call *unused, \ |
| 64 | struct trace_seq *s) \ | ||
| 64 | { \ | 65 | { \ |
| 65 | struct args field; \ | 66 | struct args field; \ |
| 66 | int ret; \ | 67 | int ret; \ |
| @@ -76,7 +77,8 @@ ftrace_format_##call(struct trace_seq *s) \ | |||
| 76 | #define TRACE_EVENT_FORMAT_NOFILTER(call, proto, args, fmt, tstruct, \ | 77 | #define TRACE_EVENT_FORMAT_NOFILTER(call, proto, args, fmt, tstruct, \ |
| 77 | tpfmt) \ | 78 | tpfmt) \ |
| 78 | static int \ | 79 | static int \ |
| 79 | ftrace_format_##call(struct trace_seq *s) \ | 80 | ftrace_format_##call(struct ftrace_event_call *unused, \ |
| 81 | struct trace_seq *s) \ | ||
| 80 | { \ | 82 | { \ |
| 81 | struct args field; \ | 83 | struct args field; \ |
| 82 | int ret; \ | 84 | int ret; \ |
| @@ -117,7 +119,7 @@ ftrace_format_##call(struct trace_seq *s) \ | |||
| 117 | 119 | ||
| 118 | #undef TRACE_EVENT_FORMAT | 120 | #undef TRACE_EVENT_FORMAT |
| 119 | #define TRACE_EVENT_FORMAT(call, proto, args, fmt, tstruct, tpfmt) \ | 121 | #define TRACE_EVENT_FORMAT(call, proto, args, fmt, tstruct, tpfmt) \ |
| 120 | int ftrace_define_fields_##call(void); \ | 122 | int ftrace_define_fields_##call(struct ftrace_event_call *event_call); \ |
| 121 | static int ftrace_raw_init_event_##call(void); \ | 123 | static int ftrace_raw_init_event_##call(void); \ |
| 122 | \ | 124 | \ |
| 123 | struct ftrace_event_call __used \ | 125 | struct ftrace_event_call __used \ |
| @@ -133,7 +135,6 @@ __attribute__((section("_ftrace_events"))) event_##call = { \ | |||
| 133 | static int ftrace_raw_init_event_##call(void) \ | 135 | static int ftrace_raw_init_event_##call(void) \ |
| 134 | { \ | 136 | { \ |
| 135 | INIT_LIST_HEAD(&event_##call.fields); \ | 137 | INIT_LIST_HEAD(&event_##call.fields); \ |
| 136 | init_preds(&event_##call); \ | ||
| 137 | return 0; \ | 138 | return 0; \ |
| 138 | } \ | 139 | } \ |
| 139 | 140 | ||
| @@ -156,7 +157,8 @@ __attribute__((section("_ftrace_events"))) event_##call = { \ | |||
| 156 | #define TRACE_FIELD(type, item, assign) \ | 157 | #define TRACE_FIELD(type, item, assign) \ |
| 157 | ret = trace_define_field(event_call, #type, #item, \ | 158 | ret = trace_define_field(event_call, #type, #item, \ |
| 158 | offsetof(typeof(field), item), \ | 159 | offsetof(typeof(field), item), \ |
| 159 | sizeof(field.item), is_signed_type(type)); \ | 160 | sizeof(field.item), \ |
| 161 | is_signed_type(type), FILTER_OTHER); \ | ||
| 160 | if (ret) \ | 162 | if (ret) \ |
| 161 | return ret; | 163 | return ret; |
| 162 | 164 | ||
| @@ -164,7 +166,7 @@ __attribute__((section("_ftrace_events"))) event_##call = { \ | |||
| 164 | #define TRACE_FIELD_SPECIAL(type, item, len, cmd) \ | 166 | #define TRACE_FIELD_SPECIAL(type, item, len, cmd) \ |
| 165 | ret = trace_define_field(event_call, #type "[" #len "]", #item, \ | 167 | ret = trace_define_field(event_call, #type "[" #len "]", #item, \ |
| 166 | offsetof(typeof(field), item), \ | 168 | offsetof(typeof(field), item), \ |
| 167 | sizeof(field.item), 0); \ | 169 | sizeof(field.item), 0, FILTER_OTHER); \ |
| 168 | if (ret) \ | 170 | if (ret) \ |
| 169 | return ret; | 171 | return ret; |
| 170 | 172 | ||
| @@ -172,7 +174,8 @@ __attribute__((section("_ftrace_events"))) event_##call = { \ | |||
| 172 | #define TRACE_FIELD_SIGN(type, item, assign, is_signed) \ | 174 | #define TRACE_FIELD_SIGN(type, item, assign, is_signed) \ |
| 173 | ret = trace_define_field(event_call, #type, #item, \ | 175 | ret = trace_define_field(event_call, #type, #item, \ |
| 174 | offsetof(typeof(field), item), \ | 176 | offsetof(typeof(field), item), \ |
| 175 | sizeof(field.item), is_signed); \ | 177 | sizeof(field.item), is_signed, \ |
| 178 | FILTER_OTHER); \ | ||
| 176 | if (ret) \ | 179 | if (ret) \ |
| 177 | return ret; | 180 | return ret; |
| 178 | 181 | ||
| @@ -182,17 +185,14 @@ __attribute__((section("_ftrace_events"))) event_##call = { \ | |||
| 182 | #undef TRACE_EVENT_FORMAT | 185 | #undef TRACE_EVENT_FORMAT |
| 183 | #define TRACE_EVENT_FORMAT(call, proto, args, fmt, tstruct, tpfmt) \ | 186 | #define TRACE_EVENT_FORMAT(call, proto, args, fmt, tstruct, tpfmt) \ |
| 184 | int \ | 187 | int \ |
| 185 | ftrace_define_fields_##call(void) \ | 188 | ftrace_define_fields_##call(struct ftrace_event_call *event_call) \ |
| 186 | { \ | 189 | { \ |
| 187 | struct ftrace_event_call *event_call = &event_##call; \ | ||
| 188 | struct args field; \ | 190 | struct args field; \ |
| 189 | int ret; \ | 191 | int ret; \ |
| 190 | \ | 192 | \ |
| 191 | __common_field(unsigned char, type, 0); \ | 193 | ret = trace_define_common_fields(event_call); \ |
| 192 | __common_field(unsigned char, flags, 0); \ | 194 | if (ret) \ |
| 193 | __common_field(unsigned char, preempt_count, 0); \ | 195 | return ret; \ |
| 194 | __common_field(int, pid, 1); \ | ||
| 195 | __common_field(int, tgid, 1); \ | ||
| 196 | \ | 196 | \ |
| 197 | tstruct; \ | 197 | tstruct; \ |
| 198 | \ | 198 | \ |
