lkml.org 
[lkml]   [2016]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 68/68] perf jevents: Handle events including .c and .o
    Date
    From: Wang Nan <wangnan0@huawei.com>

    This patch helps with Sukadev's JSON event tree where such events can happen.

    >From Andi Kleen:
    Any event inclduing a .c/.o/.bpf currently triggers BPF compilation or loading
    and then an error. This can happen for some Intel JSON events, which cannot
    be used.

    This patch fixes this problem by forbidding BPF file patch containing '{', '}'
    and ',', make sure flex consumes the leading '{', instead of matcing it using
    a BPF file path.

    Tested result:

    $ perf stat -e '{unc_p_clockticks,unc_p_power_state_occupancy.cores_c0}' -a -I 1000
    invalid or unsupported event: '{unc_p_clockticks,unc_p_power_state_occupancy.cores_c0}'
    Run 'perf list' for a list of valid events
    (as expected, interperted as event)

    $ perf stat -e 'aaa.c' -a -I 1000
    ERROR: problems with path aaa.c: No such file or directory
    (as expected, interperted as BPF source)

    $ perf stat -e 'aaa.ccc' -a -I 1000
    invalid or unsupported event: 'aaa.ccc'
    (as expected, interperted as event)

    $ perf stat -e '{aaa.c}' -a -I 1000
    ERROR: problems with path aaa.c: No such file or directory
    event syntax error: '{aaa.c}'
    <SKIP>
    (as expected, interperted as BPF source)

    $ perf stat -e '{cycles,aaa.c}' -a -I 1000
    ERROR: problems with path aaa.c: No such file or directory
    event syntax error: '{cycles,aaa.c}'
    (as expected, interperted as BPF source)

    Signed-off-by: Wang Nan <wangnan0@huawei.com>
    Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
    Cc: Zefan Li <lizefan@huawei.com>
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1475900185-37967-1-git-send-email-wangnan0@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/util/parse-events.l | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/tools/perf/util/parse-events.l b/tools/perf/util/parse-events.l
    index 9f43fda2570f..660fca05bc93 100644
    --- a/tools/perf/util/parse-events.l
    +++ b/tools/perf/util/parse-events.l
    @@ -136,8 +136,8 @@ do { \
    group [^,{}/]*[{][^}]*[}][^,{}/]*
    event_pmu [^,{}/]+[/][^/]*[/][^,{}/]*
    event [^,{}/]+
    -bpf_object .*\.(o|bpf)
    -bpf_source .*\.c
    +bpf_object [^,{}]+\.(o|bpf)
    +bpf_source [^,{}]+\.c

    num_dec [0-9]+
    num_hex 0x[a-fA-F0-9]+
    --
    2.7.4
    \
     
     \ /
      Last update: 2016-10-11 19:35    [W:4.124 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site