Re: [PATCH v3] tools/perf/metricgroup: Fix printing event names of metric group with multiple events incase of overlapping events

From: Joe Perches
Date: Thu Feb 06 2020 - 13:59:57 EST


On Thu, 2020-02-06 at 19:45 +0100, Jiri Olsa wrote:
> 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?

stack declarations of variable length arrays are not
a good thing.

https://lwn.net/Articles/749089/

and

bool evlist_used[perf_evlist->core.nr_entries] = {};

would be better.