Commit-ID:  c6c2b960b7a4105f096499fba3df65d6c0272a20
Gitweb:     http://git.kernel.org/tip/c6c2b960b7a4105f096499fba3df65d6c0272a20
Author:     Steven Rostedt <srost...@redhat.com>
AuthorDate: Fri, 1 Nov 2013 17:53:59 -0400
Committer:  Arnaldo Carvalho de Melo <a...@redhat.com>
CommitDate: Mon, 4 Nov 2013 14:36:27 -0300

tools lib traceevent: Add flags NOHANDLE and PRINTRAW to individual events

Add the flags EVENT_FL_NOHANDLE and EVENT_FL_PRINTRAW to the event flags
to have the event either ignore the register handler or to ignore the
handler and also print the raw format respectively.

This allows a tool to force a raw format or non handle for an event.

Signed-off-by: Steven Rostedt <rost...@goodmis.org>
Cc: Andrew Morton <a...@linux-foundation.org>
Cc: Frederic Weisbecker <fweis...@gmail.com>
Cc: Ingo Molnar <mi...@kernel.org>
Cc: Namhyung Kim <namhy...@kernel.org>
Link: http://lkml.kernel.org/r/20131101215501.655258...@goodmis.org
Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com>
---
 tools/lib/traceevent/event-parse.c | 4 ++--
 tools/lib/traceevent/event-parse.h | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/lib/traceevent/event-parse.c 
b/tools/lib/traceevent/event-parse.c
index 85cbbdd..fc6f35f 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -4446,11 +4446,11 @@ void pevent_event_info(struct trace_seq *s, struct 
event_format *event,
 {
        int print_pretty = 1;
 
-       if (event->pevent->print_raw)
+       if (event->pevent->print_raw || (event->flags & EVENT_FL_PRINTRAW))
                print_event_fields(s, record->data, record->size, event);
        else {
 
-               if (event->handler)
+               if (event->handler && !(event->flags & EVENT_FL_NOHANDLE))
                        print_pretty = event->handler(s, record, event,
                                                      event->context);
 
diff --git a/tools/lib/traceevent/event-parse.h 
b/tools/lib/traceevent/event-parse.h
index 9ab6367..dc8539e 100644
--- a/tools/lib/traceevent/event-parse.h
+++ b/tools/lib/traceevent/event-parse.h
@@ -308,6 +308,8 @@ enum {
        EVENT_FL_ISBPRINT       = 0x04,
        EVENT_FL_ISFUNCENT      = 0x10,
        EVENT_FL_ISFUNCRET      = 0x20,
+       EVENT_FL_NOHANDLE       = 0x40,
+       EVENT_FL_PRINTRAW       = 0x80,
 
        EVENT_FL_FAILED         = 0x80000000
 };
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to