diff options
Diffstat (limited to 'include/trace/ftrace.h')
| -rw-r--r-- | include/trace/ftrace.h | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h index 127400255e4..1b1f742a604 100644 --- a/include/trace/ftrace.h +++ b/include/trace/ftrace.h | |||
| @@ -21,6 +21,9 @@ | |||
| 21 | #undef __field | 21 | #undef __field |
| 22 | #define __field(type, item) type item; | 22 | #define __field(type, item) type item; |
| 23 | 23 | ||
| 24 | #undef __field_ext | ||
| 25 | #define __field_ext(type, item, filter_type) type item; | ||
| 26 | |||
| 24 | #undef __array | 27 | #undef __array |
| 25 | #define __array(type, item, len) type item[len]; | 28 | #define __array(type, item, len) type item[len]; |
| 26 | 29 | ||
| @@ -62,7 +65,10 @@ | |||
| 62 | */ | 65 | */ |
| 63 | 66 | ||
| 64 | #undef __field | 67 | #undef __field |
| 65 | #define __field(type, item); | 68 | #define __field(type, item) |
| 69 | |||
| 70 | #undef __field_ext | ||
| 71 | #define __field_ext(type, item, filter_type) | ||
| 66 | 72 | ||
| 67 | #undef __array | 73 | #undef __array |
| 68 | #define __array(type, item, len) | 74 | #define __array(type, item, len) |
| @@ -110,6 +116,9 @@ | |||
| 110 | if (!ret) \ | 116 | if (!ret) \ |
| 111 | return 0; | 117 | return 0; |
| 112 | 118 | ||
| 119 | #undef __field_ext | ||
| 120 | #define __field_ext(type, item, filter_type) __field(type, item) | ||
| 121 | |||
| 113 | #undef __array | 122 | #undef __array |
| 114 | #define __array(type, item, len) \ | 123 | #define __array(type, item, len) \ |
| 115 | ret = trace_seq_printf(s, "\tfield:" #type " " #item "[" #len "];\t" \ | 124 | ret = trace_seq_printf(s, "\tfield:" #type " " #item "[" #len "];\t" \ |
| @@ -265,28 +274,33 @@ ftrace_raw_output_##call(struct trace_iterator *iter, int flags) \ | |||
| 265 | 274 | ||
| 266 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE) | 275 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE) |
| 267 | 276 | ||
| 268 | #undef __field | 277 | #undef __field_ext |
| 269 | #define __field(type, item) \ | 278 | #define __field_ext(type, item, filter_type) \ |
| 270 | ret = trace_define_field(event_call, #type, #item, \ | 279 | ret = trace_define_field(event_call, #type, #item, \ |
| 271 | offsetof(typeof(field), item), \ | 280 | offsetof(typeof(field), item), \ |
| 272 | sizeof(field.item), is_signed_type(type)); \ | 281 | sizeof(field.item), \ |
| 282 | is_signed_type(type), filter_type); \ | ||
| 273 | if (ret) \ | 283 | if (ret) \ |
| 274 | return ret; | 284 | return ret; |
| 275 | 285 | ||
| 286 | #undef __field | ||
| 287 | #define __field(type, item) __field_ext(type, item, FILTER_OTHER) | ||
| 288 | |||
| 276 | #undef __array | 289 | #undef __array |
| 277 | #define __array(type, item, len) \ | 290 | #define __array(type, item, len) \ |
| 278 | BUILD_BUG_ON(len > MAX_FILTER_STR_VAL); \ | 291 | BUILD_BUG_ON(len > MAX_FILTER_STR_VAL); \ |
| 279 | ret = trace_define_field(event_call, #type "[" #len "]", #item, \ | 292 | ret = trace_define_field(event_call, #type "[" #len "]", #item, \ |
| 280 | offsetof(typeof(field), item), \ | 293 | offsetof(typeof(field), item), \ |
| 281 | sizeof(field.item), 0); \ | 294 | sizeof(field.item), 0, FILTER_OTHER); \ |
| 282 | if (ret) \ | 295 | if (ret) \ |
| 283 | return ret; | 296 | return ret; |
| 284 | 297 | ||
| 285 | #undef __dynamic_array | 298 | #undef __dynamic_array |
| 286 | #define __dynamic_array(type, item, len) \ | 299 | #define __dynamic_array(type, item, len) \ |
| 287 | ret = trace_define_field(event_call, "__data_loc " #type "[]", #item, \ | 300 | ret = trace_define_field(event_call, "__data_loc " #type "[]", #item, \ |
| 288 | offsetof(typeof(field), __data_loc_##item), \ | 301 | offsetof(typeof(field), __data_loc_##item), \ |
| 289 | sizeof(field.__data_loc_##item), 0); | 302 | sizeof(field.__data_loc_##item), 0, \ |
| 303 | FILTER_OTHER); | ||
| 290 | 304 | ||
| 291 | #undef __string | 305 | #undef __string |
| 292 | #define __string(item, src) __dynamic_array(char, item, -1) | 306 | #define __string(item, src) __dynamic_array(char, item, -1) |
| @@ -320,6 +334,9 @@ ftrace_define_fields_##call(struct ftrace_event_call *event_call) \ | |||
| 320 | #undef __field | 334 | #undef __field |
| 321 | #define __field(type, item) | 335 | #define __field(type, item) |
| 322 | 336 | ||
| 337 | #undef __field_ext | ||
| 338 | #define __field_ext(type, item, filter_type) | ||
| 339 | |||
| 323 | #undef __array | 340 | #undef __array |
| 324 | #define __array(type, item, len) | 341 | #define __array(type, item, len) |
| 325 | 342 | ||
