Messages in this thread Patch in this message | | | From | Ian Rogers <> | Date | Fri, 30 Jun 2023 10:41:02 -0700 | Subject | Re: [PATCH RFC 2/9] perf metrics: Don't iter sys metrics if we already found a CPU match |
| |
On Wed, Jun 28, 2023 at 3:30 AM John Garry <john.g.garry@oracle.com> wrote: > > In metricgroup__add_metric() we still iter the sys metrics if we already > found a match from the CPU table, which is pretty pointless, so don't > bother. > > Signed-off-by: John Garry <john.g.garry@oracle.com> > --- > tools/perf/util/metricgroup.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c > index 4389ccd29fe7..8d2ac2513530 100644 > --- a/tools/perf/util/metricgroup.c > +++ b/tools/perf/util/metricgroup.c > @@ -1261,6 +1261,12 @@ static int metricgroup__add_metric(const char *pmu, const char *metric_name, con > > has_match = data.has_match; > } > + > + if (has_match) { > + ret = 0; > + goto out; > + } > +
I think this can just be:
if (!has_match)
However, I'm not sure I agree with the intent of the change. We may have a metric like IPC and want it to apply to all types of CPU, GPU, etc. If we short-cut here then that won't be possible.
Thanks, Ian > { > struct metricgroup_iter_data data = { > .fn = metricgroup__add_metric_sys_event_iter, > @@ -1279,6 +1285,7 @@ static int metricgroup__add_metric(const char *pmu, const char *metric_name, con > > pmu_for_each_sys_metric(metricgroup__sys_event_iter, &data); > } > + > /* End of pmu events. */ > if (!has_match) > ret = -EINVAL; > -- > 2.35.3 >
| |