lkml.org 
[lkml]   [2021]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v2 20/21] perf parse-events: Identify broken modifiers.
    From
    Previously the broken modifier causes a usage message to printed but
    nothing else. After:

    $ perf stat -e 'cycles:kk' -a sleep 2
    event syntax error: 'cycles:kk'
    \___ Bad modifier
    Run 'perf list' for a list of valid events

    Usage: perf stat [<options>] [<command>]

    -e, --event <event> event selector. use 'perf list' to list available events

    $ perf stat -e '{instructions,cycles}:kk' -a sleep 2
    event syntax error: '..ns,cycles}:kk'
    \___ Bad modifier
    Run 'perf list' for a list of valid events

    Usage: perf stat [<options>] [<command>]

    -e, --event <event> event selector. use 'perf list' to list available events

    Acked-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Ian Rogers <irogers@google.com>
    ---
    tools/perf/util/parse-events.y | 10 ++++++++++
    1 file changed, 10 insertions(+)

    diff --git a/tools/perf/util/parse-events.y b/tools/perf/util/parse-events.y
    index 17c8c66f3f51..2d60f3cbe42b 100644
    --- a/tools/perf/util/parse-events.y
    +++ b/tools/perf/util/parse-events.y
    @@ -183,6 +183,11 @@ group_def ':' PE_MODIFIER_EVENT
    err = parse_events__modifier_group(list, $3);
    free($3);
    if (err) {
    + struct parse_events_state *parse_state = _parse_state;
    + struct parse_events_error *error = parse_state->error;
    +
    + parse_events__handle_error(error, @3.first_column,
    + strdup("Bad modifier"), NULL);
    free_list_evsel(list);
    YYABORT;
    }
    @@ -240,6 +245,11 @@ event_name PE_MODIFIER_EVENT
    err = parse_events__modifier_event(list, $2, false);
    free($2);
    if (err) {
    + struct parse_events_state *parse_state = _parse_state;
    + struct parse_events_error *error = parse_state->error;
    +
    + parse_events__handle_error(error, @2.first_column,
    + strdup("Bad modifier"), NULL);
    free_list_evsel(list);
    YYABORT;
    }
    --
    2.33.0.1079.g6e70778dc9-goog
    \
     
     \ /
      Last update: 2021-10-15 19:37    [W:4.101 / U:0.796 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site