Re: [PATCH v2 01/43] perf stat: Disable TopdownL1 on hybrid

From: Arnaldo Carvalho de Melo
Date: Fri Apr 28 2023 - 21:17:17 EST


Em Fri, Apr 28, 2023 at 09:31:30AM -0400, Liang, Kan escreveu:
>
>
> On 2023-04-28 3:37 a.m., Ian Rogers wrote:
> > Bugs with event parsing, event grouping and metrics causes the
> > TopdownL1 metricgroup to crash the perf command. Temporarily disable
> > the group if no events/metrics are spcecified.
> >
>
> I think it's OK to only disable the metric for perf stat default
> temporarily on hybrid as a workaround for 6.4.
> Now, the only problem is the default of perf stat on pre-icl in 6.4.
>
> > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
>
> Reviewed-by: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
>
> Arnaldo, could you please back port this for 6.4 as well?

Sure, picking this one now

> Thanks,
> Kan
> > ---
> > tools/perf/builtin-stat.c | 8 +++++++-
> > 1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> > index efda63f6bf32..be9677aa642f 100644
> > --- a/tools/perf/builtin-stat.c
> > +++ b/tools/perf/builtin-stat.c
> > @@ -1885,7 +1885,12 @@ static int add_default_attributes(void)
> > * Add TopdownL1 metrics if they exist. To minimize
> > * multiplexing, don't request threshold computation.
> > */
> > - if (metricgroup__has_metric("TopdownL1") &&
> > + /*
> > + * TODO: TopdownL1 is disabled on hybrid CPUs to avoid a crashes
> > + * caused by exposing latent bugs. This is fixed properly in:
> > + * https://lore.kernel.org/lkml/bff481ba-e60a-763f-0aa0-3ee53302c480@xxxxxxxxxxxxxxx/
> > + */
> > + if (metricgroup__has_metric("TopdownL1") && !perf_pmu__has_hybrid() &&
> > metricgroup__parse_groups(evsel_list, "TopdownL1",
> > /*metric_no_group=*/false,
> > /*metric_no_merge=*/false,
> > @@ -1894,6 +1899,7 @@ static int add_default_attributes(void)
> > stat_config.system_wide,
> > &stat_config.metric_events) < 0)
> > return -1;
> > +
> > /* Platform specific attrs */
> > if (evlist__add_default_attrs(evsel_list, default_null_attrs) < 0)
> > return -1;

--

- Arnaldo