Messages in this thread | | | Subject | Re: [PATCH v3 2/3] tracing: Add trace_irqsoff tracepoints | From | Daniel Wagner <> | Date | Tue, 30 Aug 2016 16:20:52 +0200 |
| |
On 08/30/2016 04:01 PM, Daniel Wagner wrote: > diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c > index 03c0a48..ab8958f 100644 > --- a/kernel/trace/trace_events.c > +++ b/kernel/trace/trace_events.c > @@ -152,7 +152,8 @@ EXPORT_SYMBOL_GPL(trace_define_field); > > #define __generic_field(type, item, filter_type) \ > ret = __trace_define_field(&ftrace_generic_fields, #type, \ > - #item, 0, 0, is_signed_type(type), \ > + #item, 0, sizeof(type), \ > + is_signed_type(type), \ > filter_type); \ > if (ret) \ > return ret; > > > After that I get this funky report (with only 4 cpus):
Just setting the size of the type is not enough. The hist_field_* getter function want to know the offset too:
#define DEFINE_HIST_FIELD_FN(type) \ static u64 hist_field_##type(struct hist_field *hist_field, void *event)\ { \ type *addr = (type *)(event + hist_field->field->offset); \ \ return (u64)(unsigned long)*addr; \ }
The problem we have here is that there is no cpu field in the event record.
| |