lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 16 Jun 2023 18:46:23 -0300
From:   Arnaldo Carvalho de Melo <acme@...nel.org>
To:     Ian Rogers <irogers@...gle.com>
Cc:     Thomas Richter <tmricht@...ux.ibm.com>,
        linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
        sumanthk@...ux.ibm.com, hca@...ux.ibm.com, svens@...ux.ibm.com,
        gor@...ux.ibm.com
Subject: Re: [PATCH] perf test: fix failing test cases on linux-next for s390

Em Fri, Jun 16, 2023 at 01:48:45PM -0700, Ian Rogers escreveu:
> On Fri, Jun 16, 2023 at 6:13 AM Arnaldo Carvalho de Melo
> <acme@...nel.org> wrote:
> >
> > Em Fri, Jun 16, 2023 at 10:14:37AM +0200, Thomas Richter escreveu:
> > > In linux-next tree the many test cases fail on s390x when running the
> > > perf test suite, sometime the perf tool dumps core.
> > >
> > > Output before:
> > >   6.1: Test event parsing                               : FAILED!
> > >  10.3: Parsing of PMU event table metrics               : FAILED!
> > >  10.4: Parsing of PMU event table metrics with fake PMUs: FAILED!
> > >  17: Setup struct perf_event_attr                       : FAILED!
> > >  24: Number of exit events of a simple workload         : FAILED!
> > >  26: Object code reading                                : FAILED!
> > >  28: Use a dummy software event to keep tracking        : FAILED!
> > >  35: Track with sched_switch                            : FAILED!
> > >  42.3: BPF prologue generation                          : FAILED!
> > >  66: Parse and process metrics                          : FAILED!
> > >  68: Event expansion for cgroups                        : FAILED!
> > >  69.2: Perf time to TSC                                 : FAILED!
> > >  74: build id cache operations                          : FAILED!
> > >  86: Zstd perf.data compression/decompression           : FAILED!
> > >  87: perf record tests                                  : FAILED!
> > > 106: Test java symbol                                   : FAILED!
> > >
> > > The reason for all these failure is a missing PMU. On s390x
> > > the PMU is named cpum_cf which is not detected as core PMU.
> > > A similar patch was added before, see
> > > commit 9bacbced0e32 ("perf list: Add s390 support for detailed PMU event description")
> > > which got lost during the recent reworks. Add it again.
> > >
> > > Output after:
> > >  10.2: PMU event map aliases                            : FAILED!
> > >  42.3: BPF prologue generation                          : FAILED!
> > >
> > > Most test cases now work and there is not core dump anymore.
> >
> > So you're not fixing 'perf test', that is just what detects the problem,
> > the part being fixed is the PMU code, so I'm rewriting the patch subject
> > to:
> >
> > [PATCH] perf pmu: Fix core PMU detection on s/390
> >
> > Have you bisected the problem to the first patch where this problem
> > appears?
> 
> I suspect:
> https://lore.kernel.org/all/20230527072210.2900565-30-irogers@google.com/
> 9d6a1df9b2ee ("perf pmus: Allow just core PMU scanning")
> 
> Acked-by: Ian Rogers <irogers@...gle.com>

I already pushed to perf-tools-next, but this acked/fixes is reachable
via the Link tag.

Thanks for checking and acking!

- Arnaldo
 
> Thanks,
> Ian
> 
> > - Arnaldo
> >
> > > Signed-off-by: Thomas Richter <tmricht@...ux.ibm.com>
> > > Cc: Ian Rogers <irogers@...gle.com>
> > > ---
> > >  tools/perf/util/pmu.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/tools/perf/util/pmu.c b/tools/perf/util/pmu.c
> > > index fe64ad292d36..6142e4710a2f 100644
> > > --- a/tools/perf/util/pmu.c
> > > +++ b/tools/perf/util/pmu.c
> > > @@ -1419,7 +1419,7 @@ void perf_pmu__del_formats(struct list_head *formats)
> > >
> > >  bool is_pmu_core(const char *name)
> > >  {
> > > -     return !strcmp(name, "cpu") || is_sysfs_pmu_core(name);
> > > +     return !strcmp(name, "cpu") || !strcmp(name, "cpum_cf") || is_sysfs_pmu_core(name);
> > >  }
> > >
> > >  bool perf_pmu__supports_legacy_cache(const struct perf_pmu *pmu)
> > > --
> > > 2.39.2
> > >
> >
> > --
> >
> > - Arnaldo

-- 

- Arnaldo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ