On Sat, Jun 21, 2014 at 07:50:25AM -0400, Steven Rostedt wrote: > > Updates to the RAS tracepoints found that the __field() macro has a bug > in it where you can not use it with structures. It only works with > primitives. This is because of an added check to determine if the field > is signed or not. > > A new macro is created called __field_struct() that can be used to save > structured data directly in the tracepoint and not have to settle for > storing as an array with memcpy. > > -- Steve > > > > git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git > for-next > > Head SHA1: 4d4c9cc839a308be3289a361ccba4447ee140552 > > > Steven Rostedt (1): > tracing: Add __field_struct macro for TRACE_EVENT() > > ---- > include/trace/ftrace.h | 33 > ++++++++++++++++++++++++++++++ > samples/trace_events/trace-events-sample.h | 3 ++- > 2 files changed, 35 insertions(+), 1 deletion(-) > --------------------------- > commit 4d4c9cc839a308be3289a361ccba4447ee140552 > Author: Steven Rostedt <[email protected]> > Date: Tue Jun 17 08:59:16 2014 -0400 > > tracing: Add __field_struct macro for TRACE_EVENT() > > Currently the __field() macro in TRACE_EVENT is only good for primitive > values, such as integers and pointers, but it fails on complex data types > such as structures or unions. This is because the __field() macro > determines if the variable is signed or not with the test of: > > (((type)(-1)) < (type)1) > > Unfortunately, that fails when type is a structure. > > Since trace events should support structures as fields a new macro > is created for such a case called __field_struct() which acts exactly > the same as __field() does but it does not do the signed type check > and just uses a constant false for that answer. > > Cc: Tony Luck <[email protected]> > Signed-off-by: Steven Rostedt <[email protected]>
Acked-by: Borislav Petkov <[email protected]> -- Regards/Gruss, Boris. Sent from a fat crate under my desk. Formatting is fine. -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

