[PATCH 13/18] perf metric: Add events for the current group

From: Jiri Olsa
Date: Sun Jul 12 2020 - 09:27:37 EST


There's no need to iterate the whole list of groups,
when adding new events. The currently created group
is the one we want to add.

Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/perf/util/metricgroup.c | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
index 8cbcc5e05fef..66f25362702d 100644
--- a/tools/perf/util/metricgroup.c
+++ b/tools/perf/util/metricgroup.c
@@ -811,17 +811,19 @@ static int metricgroup__add_metric(const char *metric, bool metric_no_group,
if (ret)
return ret;

- list_for_each_entry(eg, group_list, nd) {
- if (events->len > 0)
- strbuf_addf(events, ",");
+ if (events->len > 0)
+ strbuf_addf(events, ",");

- if (eg->has_constraint) {
- metricgroup__add_metric_non_group(events,
- &eg->pctx);
- } else {
- metricgroup__add_metric_weak_group(events,
- &eg->pctx);
- }
+ /*
+ * Even if we add multiple groups through the runtime
+ * param, they share same events.
+ */
+ if (eg->has_constraint) {
+ metricgroup__add_metric_non_group(events,
+ &eg->pctx);
+ } else {
+ metricgroup__add_metric_weak_group(events,
+ &eg->pctx);
}
return 0;
}
--
2.25.4