[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAP-5=fXsspq4xBehRZOBrFAEHAnE1tPnH9FybooiCcTxynh6wg@mail.gmail.com>
Date: Sun, 19 Jul 2020 15:34:48 -0700
From: Ian Rogers <irogers@...gle.com>
To: Jiri Olsa <jolsa@...nel.org>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>,
lkml <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Michael Petlan <mpetlan@...hat.com>,
Andi Kleen <ak@...ux.intel.com>,
Kajol Jain <kjain@...ux.ibm.com>,
John Garry <john.garry@...wei.com>,
"Paul A. Clarke" <pc@...ibm.com>,
Stephane Eranian <eranian@...gle.com>
Subject: Re: [PATCH 12/19] perf metric: Add events for the current list
On Sun, Jul 19, 2020 at 11:14 AM Jiri Olsa <jolsa@...nel.org> wrote:
>
> There's no need to iterate the whole list of groups,
> when adding new events. The currently created groups
> are the ones we want to add.
>
> Signed-off-by: Jiri Olsa <jolsa@...nel.org>
Acked-by: Ian Rogers <irogers@...gle.com>
Thanks,
Ian
> ---
> tools/perf/util/metricgroup.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
> index bb5757b9419d..332414d93f7a 100644
> --- a/tools/perf/util/metricgroup.c
> +++ b/tools/perf/util/metricgroup.c
> @@ -813,6 +813,7 @@ static int metricgroup__add_metric(const char *metric, bool metric_no_group,
> {
> struct pmu_event *pe;
> struct egroup *eg;
> + LIST_HEAD(list);
> int i, ret;
> bool has_match = false;
>
> @@ -820,7 +821,7 @@ static int metricgroup__add_metric(const char *metric, bool metric_no_group,
> has_match = true;
> eg = NULL;
>
> - ret = add_metric(group_list, pe, metric_no_group, &eg);
> + ret = add_metric(&list, pe, metric_no_group, &eg);
> if (ret)
> return ret;
>
> @@ -829,7 +830,7 @@ static int metricgroup__add_metric(const char *metric, bool metric_no_group,
> * included in the expression.
> */
> ret = resolve_metric(eg, metric_no_group,
> - group_list, map);
> + &list, map);
> if (ret)
> return ret;
> }
> @@ -838,7 +839,7 @@ static int metricgroup__add_metric(const char *metric, bool metric_no_group,
> if (!has_match)
> return -EINVAL;
>
> - list_for_each_entry(eg, group_list, nd) {
> + list_for_each_entry(eg, &list, nd) {
> if (events->len > 0)
> strbuf_addf(events, ",");
>
> @@ -850,6 +851,8 @@ static int metricgroup__add_metric(const char *metric, bool metric_no_group,
> &eg->pctx);
> }
> }
> +
> + list_splice(&list, group_list);
> return 0;
> }
>
> --
> 2.25.4
>
Powered by blists - more mailing lists