lkml.org 
[lkml]   [2019]   [Jul]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 136/271] perf stat: Make metric event lookup more robust
    Date
    [ Upstream commit 145c407c808352acd625be793396fd4f33c794f8 ]

    After setting up metric groups through the event parser, the metricgroup
    code looks them up again in the event list.

    Make sure we only look up events that haven't been used by some other
    metric. The data structures currently cannot handle more than one metric
    per event. This avoids problems with multiple events partially
    overlapping.

    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Acked-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Link: http://lkml.kernel.org/r/20190624193711.35241-2-andi@firstfloor.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/perf/util/stat-shadow.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c
    index 99990f5f2512..bbb0e042d8e5 100644
    --- a/tools/perf/util/stat-shadow.c
    +++ b/tools/perf/util/stat-shadow.c
    @@ -303,7 +303,7 @@ static struct perf_evsel *perf_stat__find_event(struct perf_evlist *evsel_list,
    struct perf_evsel *c2;

    evlist__for_each_entry (evsel_list, c2) {
    - if (!strcasecmp(c2->name, name))
    + if (!strcasecmp(c2->name, name) && !c2->collect_stat)
    return c2;
    }
    return NULL;
    @@ -342,7 +342,8 @@ void perf_stat__collect_metric_expr(struct perf_evlist *evsel_list)
    if (leader) {
    /* Search in group */
    for_each_group_member (oc, leader) {
    - if (!strcasecmp(oc->name, metric_names[i])) {
    + if (!strcasecmp(oc->name, metric_names[i]) &&
    + !oc->collect_stat) {
    found = true;
    break;
    }
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-07-25 07:44    [W:4.094 / U:0.800 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site