Message ID | 1692606977-92009-3-git-send-email-renyu.zj@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | perf vendor events: Add JSON metrics for Arm CMN | expand |
On Mon, Aug 21, 2023 at 1:36 AM Jing Zhang <renyu.zj@linux.alibaba.com> wrote: > > The jevent "Compat" is used for uncore PMU alias or metric definitions. > > The same PMU driver has different PMU identifiers due to different > hardware versions and types, but they may have some common PMU metric. > Since a Compat value can only match one identifier, when adding the > same metric to PMUs with different identifiers, each identifier needs > to be defined once, which is not streamlined enough. > > So let "Compat" supports matching multiple identifiers for uncore PMU > metric. > > Signed-off-by: Jing Zhang <renyu.zj@linux.alibaba.com> > Reviewed-by: John Garry <john.g.garry@oracle.com> Reviewed-by: Ian Rogers <irogers@google.com> Thanks, Ian > --- > tools/perf/util/metricgroup.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c > index 5e9c657..ff81bc5 100644 > --- a/tools/perf/util/metricgroup.c > +++ b/tools/perf/util/metricgroup.c > @@ -477,7 +477,7 @@ static int metricgroup__sys_event_iter(const struct pmu_metric *pm, > > while ((pmu = perf_pmu__scan(pmu))) { > > - if (!pmu->id || strcmp(pmu->id, pm->compat)) > + if (!pmu->id || !pmu_uncore_identifier_match(pmu->id, pm->compat)) > continue; > > return d->fn(pm, table, d->data); > -- > 1.8.3.1 >
diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c index 5e9c657..ff81bc5 100644 --- a/tools/perf/util/metricgroup.c +++ b/tools/perf/util/metricgroup.c @@ -477,7 +477,7 @@ static int metricgroup__sys_event_iter(const struct pmu_metric *pm, while ((pmu = perf_pmu__scan(pmu))) { - if (!pmu->id || strcmp(pmu->id, pm->compat)) + if (!pmu->id || !pmu_uncore_identifier_match(pmu->id, pm->compat)) continue; return d->fn(pm, table, d->data);