lkml.org 
[lkml]   [2016]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 1/3] perf, tools: Handle events including .c and .o
    Em Wed, Oct 05, 2016 at 12:47:10PM -0700, Andi Kleen escreveu:
    > From: Andi Kleen <ak@linux.intel.com>
    >
    > This is a generic bug fix, but it helps with Sukadev's JSON event tree
    > where such events can happen.
    >
    > 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.
    >
    > Fix the scanner to only match for .o or .c or .bpf at the end.
    > This will prevent loading multiple BPF scripts separated with comma,
    > but I assume this is acceptable.

    So, I tried it with the example provided in the thread for a previous
    version of this patch (IIRC) and it still fails:


    [acme@jouet linux]$ perf stat -e '{unc_p_clockticks,unc_p_power_state_occupancy.cores_c0}' -a -I 1000
    ERROR: problems with path {unc_p_clockticks,unc_p_power_state_occupancy.c: No such file or directory
    event syntax error: '{unc_p_clockticks,unc_p_power_state_occupancy.cores_c0}'
    \___ Failed to load {unc_p_clockticks,unc_p_power_state_occupancy.c from source: Error when compiling BPF scriptlet

    (add -v to see detail)
    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
    [acme@jouet linux]$

    And with another event that for sure is available on this machine:



    [acme@jouet linux]$ perf stat -e '{uops_executed.core_cycles_ge_2}' -I 1000 usleep 10
    ERROR: problems with path {uops_executed.c: No such file or directory
    event syntax error: '{uops_executed.core_cycles_ge_2}'
    \___ Failed to load {uops_executed.c from source: Error when compiling BPF scriptlet

    (add -v to see detail)
    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
    [acme@jouet linux]$


    I thought this was due to the Makefile not noticing the change in the .l files, but I made
    sure I deleted the build dir and rebuilt from scratch, same problem.

    - Arnaldo

    > Cc: wangnan0@huawei.com
    > Cc: sukadev@linux.vnet.ibm.com
    > Signed-off-by: Andi Kleen <ak@linux.intel.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..377147088a46 100644
    > --- a/tools/perf/util/parse-events.l
    > +++ b/tools/perf/util/parse-events.l
    > @@ -183,8 +183,8 @@ modifier_bp [rwx]{1,3}
    > }
    >
    > {event_pmu} |
    > -{bpf_object} |
    > -{bpf_source} |
    > +({bpf_object}$) |
    > +({bpf_source}$) |
    > {event} {
    > BEGIN(INITIAL);
    > REWIND(1);
    > --
    > 2.5.5

    \
     
     \ /
      Last update: 2016-10-06 22:19    [W:4.729 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site