Messages in this thread | | | Date | Thu, 6 Feb 2020 19:45:10 +0100 | From | Jiri Olsa <> | Subject | Re: [PATCH v3] tools/perf/metricgroup: Fix printing event names of metric group with multiple events incase of overlapping events |
| |
On Fri, Jan 31, 2020 at 10:55:22AM +0530, Kajol Jain wrote:
SNIP
> ev->metric_leader = metric_events[i]; > } > + j++; > } > + ev = metric_events[i]; > + evlist_used[ev->idx] = true; > } > > return metric_events[0]; > @@ -160,6 +161,9 @@ static int metricgroup__setup_events(struct list_head *groups, > int ret = 0; > struct egroup *eg; > struct evsel *evsel; > + bool evlist_used[perf_evlist->core.nr_entries]; > + > + memset(evlist_used, 0, perf_evlist->core.nr_entries);
I know I posted this in the previous email, but are we sure bool is always 1 byte? would sizeod(evlist_used) be safer?
other than that it looks ok
Andi, you're ok with this?
thanks, jirka
> > list_for_each_entry (eg, groups, nd) { > struct evsel **metric_events; > @@ -170,7 +174,7 @@ static int metricgroup__setup_events(struct list_head *groups, > break; > } > evsel = find_evsel_group(perf_evlist, eg->ids, eg->idnum, > - metric_events); > + metric_events, evlist_used); > if (!evsel) { > pr_debug("Cannot resolve %s: %s\n", > eg->metric_name, eg->metric_expr); > -- > 2.21.0 >
| |