perf stat: Make metric event lookup more robust
[platform/kernel/linux-rpi.git] / tools / perf / util / stat-shadow.c
index 99990f5..bbb0e04 100644 (file)
@@ -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;
                                        }