lkml.org 
[lkml]   [2012]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 07/15] perf/events: Add flag/symbol format_flags
    Date
    From: Tom Zanussi <tzanussi@gmail.com>

    This is a port of commit eb9a42caa7a92
    perf trace: Add flag/symbolic format_flags
    of the old trace-event-parse.c to the new event-parse.c that
    was written by Tom Zanussi and forward ported by Steven Rostedt.

    Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Arun Sharma <asharma@fb.com>
    Cc: Namhyung Kim <namhyung.kim@lge.com>
    Cc: David Ahern <dsahern@gmail.com>
    Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
    ---
    tools/lib/traceevent/event-parse.c | 15 +++++++++++++++
    1 files changed, 15 insertions(+), 0 deletions(-)

    diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
    index c799c19..f012395 100644
    --- a/tools/lib/traceevent/event-parse.c
    +++ b/tools/lib/traceevent/event-parse.c
    @@ -39,6 +39,9 @@ static const char *input_buf;
    static unsigned long long input_buf_ptr;
    static unsigned long long input_buf_siz;

    +static int is_flag_field;
    +static int is_symbolic_field;
    +
    static int show_warning = 1;

    #define do_warning(fmt, ...) \
    @@ -1789,6 +1792,16 @@ process_entry(struct event_format *event __unused, struct print_arg *arg,
    arg->type = PRINT_FIELD;
    arg->field.name = field;

    + if (is_flag_field) {
    + arg->field.field = pevent_find_any_field(event, arg->field.name);
    + arg->field.field->flags |= FIELD_IS_FLAG;
    + is_flag_field = 0;
    + } else if (is_symbolic_field) {
    + arg->field.field = pevent_find_any_field(event, arg->field.name);
    + arg->field.field->flags |= FIELD_IS_SYMBOLIC;
    + is_symbolic_field = 0;
    + }
    +
    type = read_token(&token);
    *tok = token;

    @@ -2398,10 +2411,12 @@ process_function(struct event_format *event, struct print_arg *arg,

    if (strcmp(token, "__print_flags") == 0) {
    free_token(token);
    + is_flag_field = 1;
    return process_flags(event, arg, tok);
    }
    if (strcmp(token, "__print_symbolic") == 0) {
    free_token(token);
    + is_symbolic_field = 1;
    return process_symbols(event, arg, tok);
    }
    if (strcmp(token, "__get_str") == 0) {
    --
    1.7.5.4


    \
     
     \ /
      Last update: 2012-04-25 14:35    [W:4.032 / U:0.300 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site