Messages in this thread | | | Subject | Re: [PATCHv2 10/10] tracing/filter: Add startup tests for events filter | From | Steven Rostedt <> | Date | Wed, 10 Aug 2011 17:24:42 -0400 |
| |
On Thu, 2011-08-04 at 13:22 +0200, Jiri Olsa wrote: > oops, > I sent wrong version with small leak, proper one attached.. > > thanks, > jirka > > > --- > Adding automated tests running as late_initcall. Tests are > compiled in with CONFIG_FTRACE_STARTUP_TEST option. > > Adding test event "ftrace_test_filter" used to simulate > filter processing during event occurance. > > String filters are compiled and tested against several > test events with different values. > > Also testing that evaluation of explicit predicates is ommited > due to the lazy filter evaluation. > > Signed-off-by: Jiri Olsa <jolsa@redhat.com> > --- > include/trace/events/test.h | 45 ++++++++ > kernel/trace/trace.h | 3 + > kernel/trace/trace_events_filter.c | 209 ++++++++++++++++++++++++++++++++++++ > 3 files changed, 257 insertions(+), 0 deletions(-) > create mode 100644 include/trace/events/test.h > > diff --git a/include/trace/events/test.h b/include/trace/events/test.h > new file mode 100644 > index 0000000..81c5484 > --- /dev/null > +++ b/include/trace/events/test.h
Hmm, I'd like to keep this out of the include/trace/events directory. Could you put this directly into the kernel/trace/ directory, using the Makefile tricks in samples/trace_events/Makefile and the TRACE_INCLUDE_PATH as seen in samples/trace_events/trace-events-sample.h
-- Steve
> @@ -0,0 +1,45 @@ > +#undef TRACE_SYSTEM > +#define TRACE_SYSTEM test > + > +#if !defined(_TRACE_TEST_H) || defined(TRACE_HEADER_MULTI_READ) > +#define _TRACE_TEST_H > + > +#include <linux/tracepoint.h> > + > +TRACE_EVENT(ftrace_test_filter, > + > + TP_PROTO(int a, int b, int c, int d, int e, int f, int g, int h), > + > + TP_ARGS(a, b, c, d, e, f, g, h), > + > + TP_STRUCT__entry( > + __field(int, a) > + __field(int, b) > + __field(int, c) > + __field(int, d) > + __field(int, e) > + __field(int, f) > + __field(int, g) > + __field(int, h) > + ), > + > + TP_fast_assign( > + __entry->a = a; > + __entry->b = b; > + __entry->c = c; > + __entry->d = d; > + __entry->e = e; > + __entry->f = f; > + __entry->g = g; > + __entry->h = h; > + ), > + > + TP_printk("a %d, b %d, c %d, d %d, e %d, f %d, g %d, h %d", > + __entry->a, __entry->b, __entry->c, __entry->d, > + __entry->e, __entry->f, __entry->g, __entry->h) > +); > +
| |