On Sun, Jun 04, 2023 at 01:38:10PM +0200, Krzysztof Kozlowski wrote: > Hi, > > #regzbot introduced: 9551fbb64d09 > > Bisect pointed to commit 9551fbb64d09 ("perf/core: Remove pmu linear > searching code") as first one where all hardware events are gone from > perf for ARMv7 Exynos5422 board. I think that commit 9551fbb64d09 is just wrong. The commit message asserts: Searching for the right pmu by iterating over all pmus is no longer required since all pmus now *must* be present in the 'pmu_idr' list. So, remove linear searching code. ... and while each PMU has *some* entry in the pmu_idr list, for its dynamic type, that means that events with other types (e.g. PERF_TYPE_HARDWARE or PERF_TYPE_RAW) will fail to find a PMU in the IDR whereas they'd previously have been accepted by a PMU during the subsequent iteration over all PMUs. So that iteration is still required. How does this work on x86? Do you have pseudo-PMUs for PERF_TYPE_HARDWARE and PERF_TYPE_RAW ? Thanks, Mark. > Expected: > perf list | grep "Hardware event" > branch-instructions OR branches [Hardware event] > branch-misses [Hardware event] > bus-cycles [Hardware event] > cache-misses [Hardware event] > cache-references [Hardware event] > cpu-cycles OR cycles [Hardware event] > instructions [Hardware event] > > > Result: > empty, no hardware events > > 1. Arch ARM Linux > 2. exynos_defconfig > 3. Board: > - Odroid HC1 > ARMv7, octa-core (Cortex-A7+A15), Exynos5422 SoC > Systemd: v239 > > 4. perf version 6.1.0 > > > Best regards, > Krzysztof