All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Leo Yan <leo.yan@arm.com>
Cc: Breno Leitao <leitao@debian.org>, Ian Rogers <irogers@google.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	James Clark <james.clark@linaro.org>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
	kernel-team@meta.com, Denis Yaroshevskiy <dyaroshev@meta.com>
Subject: Re: [PATCH] perf stat: Fix crash on arm64
Date: Mon, 23 Mar 2026 11:21:48 -0300	[thread overview]
Message-ID: <acFMfBS-85NWuDu-@x1> (raw)
In-Reply-To: <20260311115011.GJ4153946@e132581.arm.com>

On Wed, Mar 11, 2026 at 11:50:11AM +0000, Leo Yan wrote:
> On Wed, Mar 11, 2026 at 03:21:00AM -0700, Breno Leitao wrote:
> > On Thu, Feb 05, 2026 at 10:22:27AM -0800, Ian Rogers wrote:
> > > I think it is a different issue, they have metrics while you don't.
> > > Your report does highlight we're missing a NO_JEVENTS=1 build-test,
> > > but the build is working for me. I'll send out two patches for these
> > > issues.

> > I wanted to follow up on this. Are there any next steps I should take?
 
> I can reproduce the issue on my Orion6 with setting a _dummy_ CPUID:
 
>  $ export PERF_CPUID=0x00000000410fd490
>  $ perf stat -C 5 -vvv
>  ...
>  Aborted
>  perf: util/evsel.c:2156: get_group_fd: Assertion `!(!leader->core.fd)' failed

> Because we are working on different hardwares, I am a bit suspect I
> reproduced the issue with difference sequence as yours.  Anyway, I do
> see that an event can be opened prior to its leader event, see the log
> below.
 
> Thus, your patch seems make sense to me as we need to ensure the leader
> event to be opened first.  Ian, how about you think?
 
> I have a side question (maybe this is for James :): why other arch (or
> platforms) don't have reproduce the issue?  I am wandering if any error
> or special stuffs in Arm CPU's json files.

I managed to reproduce using Leo's method:

(gdb) run stat -C 1
Starting program: /root/bin/perf stat -C 1
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
Failure to read '#slots'Failure to read '#slots'Failure to read '#slots'Failure to read '#slots'
Program received signal SIGSEGV, Segmentation fault.
metricgroup__copy_metric_events (evlist=0x555555c85790, cgrp=0x0, new_metric_events=0x555555c86250, old_metric_events=0x555555c86d60) at util/metricgroup.c:1662
1662			evsel = evlist__find_evsel(evlist, old_me->evsel->core.idx);
(gdb) bt
#0  metricgroup__copy_metric_events (evlist=0x555555c85790, cgrp=0x0, new_metric_events=0x555555c86250, old_metric_events=0x555555c86d60) at util/metricgroup.c:1662
#1  0x00005555555db404 in add_default_events () at builtin-stat.c:2102
#2  0x00005555555de000 in cmd_stat (argc=0, argv=0x7ffffffffc30) at builtin-stat.c:2830
#3  0x00005555556778e0 in run_builtin (p=0x555555bd5558 <commands+360>, argc=3, argv=0x7ffffffffc30) at perf.c:348
#4  0x0000555555677b5c in handle_internal_command (argc=3, argv=0x7ffffffffc30) at perf.c:398
#5  0x0000555555677d20 in run_argv (argcp=0x7ffffffffa4c, argv=0x7ffffffffa40) at perf.c:442
#6  0x0000555555678064 in main (argc=3, argv=0x7ffffffffc30) at perf.c:549
(gdb)

acme@raspberrypi:~/git/perf-tools $ git log --no-merges --oneline -15 tools/
493ad070cbcb (HEAD -> perf-tools, tag: perf-tools-fixes-for-v7.0-2-2026-03-23, x1/perf-tools, number/perf-tools) tools headers: Synchronize linux/build_bug.h with the kernel sources
0a8b2a0857ed tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources
3c71ae8ec9ad tools headers UAPI: Sync linux/kvm.h with the kernel sources
4ddd7588fae6 tools arch x86: Sync the msr-index.h copy with the kernel sources
563d39928db6 perf kvm stat: Fix relative paths for including headers
72a8b9c060d3 perf parse-events: Fix big-endian 'overwrite' by writing correct union member
8dd1d9a33532 perf metricgroup: Fix metricgroup__has_metric_or_groups()
5d4c6c132ea9 selftests/hid: fix compilation when bpf_wq and hid_device are not exported
81f86728a980 tools headers: Skip arm64 cputype.h check
e2715ea5fb35 bootconfig: Add bootconfig tests about braces
d2ea4ff1ce50 KVM: selftests: Verify SEV+ guests can read and write EFER, CR0, CR4, and CR8
146c9ab38b48 powerpc/selftests/copyloops: extend selftest to exercise __copy_tofrom_user_power7_vmx
68e76fc12df0 selftests: rtnetlink: add neighbour update test
35b16a7a2c4f (tag: perf-tools-fixes-for-v7.0-1-2026-03-13, five/perf-tools) perf synthetic-events: Fix stale build ID in module MMAP2 records
3e745694b032 selftests: kvm: add a test that VMX validates controls on RSM
acme@raspberrypi:~/git/perf-tools $

Below goes the full -vvv log FWIW.

- Arnaldo

root@raspberrypi:~# export PERF_CPUID=0x00000000410fd490
root@raspberrypi:~# perf stat -C 1 -vvv
Using CPUID 0x00000000410fd490
metric expr 100 * (STALL_SLOT_BACKEND / (CPU_CYCLES * #slots) - BR_MIS_PRED * 3 / CPU_CYCLES) for backend_bound
parsing metric: 100 * (STALL_SLOT_BACKEND / (CPU_CYCLES * #slots) - BR_MIS_PRED * 3 / CPU_CYCLES)
Failure to read '#slots'literal: #slots = nan
syntax error
metric expr 100 * ((1 - OP_RETIRED / OP_SPEC) * (1 - (STALL_SLOT if strcmp_cpuid_str(0x410fd493) | strcmp_cpuid_str(0x410fd490) ^ 1 else STALL_SLOT - CPU_CYCLES) / (CPU_CYCLES * #slots)) + BR_MIS_PRED * 4 / CPU_CYCLES) for bad_speculation
parsing metric: 100 * ((1 - OP_RETIRED / OP_SPEC) * (1 - (STALL_SLOT if strcmp_cpuid_str(0x410fd493) | strcmp_cpuid_str(0x410fd490) ^ 1 else STALL_SLOT - CPU_CYCLES) / (CPU_CYCLES * #slots)) + BR_MIS_PRED * 4 / CPU_CYCLES)
Failure to read '#slots'literal: #slots = nan
syntax error
metric expr 100 * ((STALL_SLOT_FRONTEND if strcmp_cpuid_str(0x410fd493) | strcmp_cpuid_str(0x410fd490) ^ 1 else STALL_SLOT_FRONTEND - CPU_CYCLES) / (CPU_CYCLES * #slots) - BR_MIS_PRED / CPU_CYCLES) for frontend_bound
parsing metric: 100 * ((STALL_SLOT_FRONTEND if strcmp_cpuid_str(0x410fd493) | strcmp_cpuid_str(0x410fd490) ^ 1 else STALL_SLOT_FRONTEND - CPU_CYCLES) / (CPU_CYCLES * #slots) - BR_MIS_PRED / CPU_CYCLES)
Failure to read '#slots'literal: #slots = nan
syntax error
metric expr 100 * (OP_RETIRED / OP_SPEC * (1 - (STALL_SLOT if strcmp_cpuid_str(0x410fd493) | strcmp_cpuid_str(0x410fd490) ^ 1 else STALL_SLOT - CPU_CYCLES) / (CPU_CYCLES * #slots))) for retiring
parsing metric: 100 * (OP_RETIRED / OP_SPEC * (1 - (STALL_SLOT if strcmp_cpuid_str(0x410fd493) | strcmp_cpuid_str(0x410fd490) ^ 1 else STALL_SLOT - CPU_CYCLES) / (CPU_CYCLES * #slots)))
Failure to read '#slots'literal: #slots = nan
syntax error
metric expr (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@) / (duration_time * 1e9) for CPUs_utilized
parsing metric: (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@) / (duration_time * 1e9)
literal: #target_cpu = 1.000000
metric expr stalled\-cycles\-backend / cpu\-cycles for backend_cycles_idle
parsing metric: backend_cycles_idle
metric expr stalled\-cycles\-backend / cpu\-cycles for backend_cycles_idle
parsing metric: stalled\-cycles\-backend / cpu\-cycles
metric expr branches / (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@) for branch_frequency
parsing metric: branches / (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@)
literal: #target_cpu = 1.000000
metric expr branch\-misses / branches for branch_miss_rate
parsing metric: branch_miss_rate
metric expr branch\-misses / branches for branch_miss_rate
parsing metric: branch\-misses / branches
metric expr software@context\-switches\,name\=context\-switches@ * 1e9 / (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@) for cs_per_second
parsing metric: software@context\-switches\,name\=context\-switches@ * 1e9 / (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@)
literal: #target_cpu = 1.000000
metric expr cpu\-cycles / (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@) for cycles_frequency
parsing metric: cpu\-cycles / (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@)
literal: #target_cpu = 1.000000
metric expr stalled\-cycles\-frontend / cpu\-cycles for frontend_cycles_idle
parsing metric: frontend_cycles_idle
metric expr stalled\-cycles\-frontend / cpu\-cycles for frontend_cycles_idle
parsing metric: stalled\-cycles\-frontend / cpu\-cycles
metric expr instructions / cpu\-cycles for insn_per_cycle
parsing metric: insn_per_cycle
metric expr instructions / cpu\-cycles for insn_per_cycle
parsing metric: instructions / cpu\-cycles
metric expr software@cpu\-migrations\,name\=cpu\-migrations@ * 1e9 / (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@) for migrations_per_second
parsing metric: software@cpu\-migrations\,name\=cpu\-migrations@ * 1e9 / (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@)
literal: #target_cpu = 1.000000
metric expr software@page\-faults\,name\=page\-faults@ * 1e9 / (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@) for page_faults_per_second
parsing metric: software@page\-faults\,name\=page\-faults@ * 1e9 / (software@cpu\-clock\,name\=cpu\-clock@ if #target_cpu else software@task\-clock\,name\=task\-clock@)
literal: #target_cpu = 1.000000
metric expr max(stalled\-cycles\-frontend, stalled\-cycles\-backend) / instructions for stalled_cycles_per_instruction
parsing metric: max(stalled\-cycles\-frontend, stalled\-cycles\-backend) / instructions
found event software@context-switches,name=context-switches@
found event duration_time
found event software@page-faults,name=page-faults@
found event cpu-cycles
found event branches
found event software@cpu-migrations,name=cpu-migrations@
found event software@cpu-clock,name=cpu-clock@
Parsing metric events 'software/context-switches,name=context-switches,metric-id=software!3context!1switches!0name!2context!1switches!3/,software/page-faults,name=page-faults,metric-id=software!3page!1faults!0name!2page!1faults!3/,cpu-cycles/metric-id=cpu!1cycles/,branches/metric-id=branches/,software/cpu-migrations,name=cpu-migrations,metric-id=software!3cpu!1migrations!0name!2cpu!1migrations!3/,software/cpu-clock,name=cpu-clock,metric-id=software!3cpu!1clock!0name!2cpu!1clock!3/,duration_time'
Attempt to add: software/context-switches,name=context-switches,metric-id=software!3context!1switches!0name!2context!1switches!3/
..after resolving event: software/config=0x3,name=context-switches,metric-id=software!3context!1switches!0name!2context!1switches!3/
Attempt to add: software/page-faults,name=page-faults,metric-id=software!3page!1faults!0name!2page!1faults!3/
..after resolving event: software/config=0x2,name=page-faults,metric-id=software!3page!1faults!0name!2page!1faults!3/
hwmon_pmu: not a hwmon file 'cpu-cycles'
Attempt to add: armv8_cortex_a76/metric-id=cpu!1cycles,cpu-cycles/
..after resolving event: armv8_cortex_a76/metric-id=cpu!1cycles,legacy-hardware-config=0/
cpu-cycles -> armv8_cortex_a76/metric-id=cpu!1cycles,cpu-cycles/
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'branches'
Attempt to add: armv8_cortex_a76/metric-id=branches,branches/
..after resolving event: armv8_cortex_a76/metric-id=branches,legacy-hardware-config=0x4/
branches -> armv8_cortex_a76/metric-id=branches,branches/
hwmon_pmu: not a hwmon file 'branches'
hwmon_pmu: not a hwmon file 'branches'
hwmon_pmu: not a hwmon file 'branches'
hwmon_pmu: not a hwmon file 'branches'
hwmon_pmu: not a hwmon file 'branches'
Attempt to add: software/cpu-migrations,name=cpu-migrations,metric-id=software!3cpu!1migrations!0name!2cpu!1migrations!3/
..after resolving event: software/config=0x4,name=cpu-migrations,metric-id=software!3cpu!1migrations!0name!2cpu!1migrations!3/
Attempt to add: software/cpu-clock,name=cpu-clock,metric-id=software!3cpu!1clock!0name!2cpu!1clock!3/
..after resolving event: software/config=0,name=cpu-clock,metric-id=software!3cpu!1clock!0name!2cpu!1clock!3/
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
Attempt to add: tool/duration_time/
..after resolving event: tool/config=0x1/
duration_time -> tool/duration_time/
found event duration_time
Parsing metric events 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
Attempt to add: tool/duration_time/
..after resolving event: tool/config=0x1/
duration_time -> tool/duration_time/
Matched metric-id duration_time to duration_time
Events in 'frontend_bound' fully contained within 'retiring'
Events in 'bad_speculation' fully contained within 'retiring'
Events in 'backend_bound' fully contained within 'retiring'
found event duration_time
found event stalled-cycles-backend
found event instructions
found event stalled-cycles-frontend
Parsing metric events '{stalled-cycles-backend/metric-id=stalled!1cycles!1backend/,instructions/metric-id=instructions/,stalled-cycles-frontend/metric-id=stalled!1cycles!1frontend/}:W,duration_time'
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
Attempt to add: armv8_cortex_a76/metric-id=stalled!1cycles!1backend,stalled-cycles-backend/
..after resolving event: armv8_cortex_a76/metric-id=stalled!1cycles!1backend,legacy-hardware-config=0x8/
stalled-cycles-backend -> armv8_cortex_a76/metric-id=stalled!1cycles!1backend,stalled-cycles-backend/
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
hwmon_pmu: not a hwmon file 'instructions'
Attempt to add: armv8_cortex_a76/metric-id=instructions,instructions/
..after resolving event: armv8_cortex_a76/metric-id=instructions,legacy-hardware-config=0x1/
instructions -> armv8_cortex_a76/metric-id=instructions,instructions/
hwmon_pmu: not a hwmon file 'instructions'
hwmon_pmu: not a hwmon file 'instructions'
hwmon_pmu: not a hwmon file 'instructions'
hwmon_pmu: not a hwmon file 'instructions'
hwmon_pmu: not a hwmon file 'instructions'
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
Attempt to add: armv8_cortex_a76/metric-id=stalled!1cycles!1frontend,stalled-cycles-frontend/
..after resolving event: armv8_cortex_a76/metric-id=stalled!1cycles!1frontend,legacy-hardware-config=0x7/
stalled-cycles-frontend -> armv8_cortex_a76/metric-id=stalled!1cycles!1frontend,stalled-cycles-frontend/
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
Attempt to add: tool/duration_time/
..after resolving event: tool/config=0x1/
duration_time -> tool/duration_time/
Matched metric-id stalled-cycles-backend to stalled-cycles-backend
Matched metric-id instructions to instructions
Matched metric-id stalled-cycles-frontend to stalled-cycles-frontend
Matched metric-id duration_time to duration_time
Matched metric-id software@page-faults,name=page-faults@ to page-faults
Matched metric-id software@cpu-clock,name=cpu-clock@ to cpu-clock
Matched metric-id software@cpu-migrations,name=cpu-migrations@ to cpu-migrations
Matched metric-id software@cpu-clock,name=cpu-clock@ to cpu-clock
found event duration_time
found event cpu-cycles
found event instructions
Parsing metric events '{cpu-cycles/metric-id=cpu!1cycles/,instructions/metric-id=instructions/}:W,duration_time'
hwmon_pmu: not a hwmon file 'cpu-cycles'
Attempt to add: armv8_cortex_a76/metric-id=cpu!1cycles,cpu-cycles/
..after resolving event: armv8_cortex_a76/metric-id=cpu!1cycles,legacy-hardware-config=0/
cpu-cycles -> armv8_cortex_a76/metric-id=cpu!1cycles,cpu-cycles/
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'instructions'
Attempt to add: armv8_cortex_a76/metric-id=instructions,instructions/
..after resolving event: armv8_cortex_a76/metric-id=instructions,legacy-hardware-config=0x1/
instructions -> armv8_cortex_a76/metric-id=instructions,instructions/
hwmon_pmu: not a hwmon file 'instructions'
hwmon_pmu: not a hwmon file 'instructions'
hwmon_pmu: not a hwmon file 'instructions'
hwmon_pmu: not a hwmon file 'instructions'
hwmon_pmu: not a hwmon file 'instructions'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
Attempt to add: tool/duration_time/
..after resolving event: tool/config=0x1/
duration_time -> tool/duration_time/
Matched metric-id cpu-cycles to cpu-cycles
Matched metric-id instructions to instructions
Matched metric-id duration_time to duration_time
found event duration_time
found event cpu-cycles
found event stalled-cycles-frontend
Parsing metric events '{cpu-cycles/metric-id=cpu!1cycles/,stalled-cycles-frontend/metric-id=stalled!1cycles!1frontend/}:W,duration_time'
hwmon_pmu: not a hwmon file 'cpu-cycles'
Attempt to add: armv8_cortex_a76/metric-id=cpu!1cycles,cpu-cycles/
..after resolving event: armv8_cortex_a76/metric-id=cpu!1cycles,legacy-hardware-config=0/
cpu-cycles -> armv8_cortex_a76/metric-id=cpu!1cycles,cpu-cycles/
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
Attempt to add: armv8_cortex_a76/metric-id=stalled!1cycles!1frontend,stalled-cycles-frontend/
..after resolving event: armv8_cortex_a76/metric-id=stalled!1cycles!1frontend,legacy-hardware-config=0x7/
stalled-cycles-frontend -> armv8_cortex_a76/metric-id=stalled!1cycles!1frontend,stalled-cycles-frontend/
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
hwmon_pmu: not a hwmon file 'stalled-cycles-frontend'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
Attempt to add: tool/duration_time/
..after resolving event: tool/config=0x1/
duration_time -> tool/duration_time/
Matched metric-id cpu-cycles to cpu-cycles
Matched metric-id stalled-cycles-frontend to stalled-cycles-frontend
Matched metric-id duration_time to duration_time
Matched metric-id cpu-cycles to cpu-cycles
Matched metric-id software@cpu-clock,name=cpu-clock@ to cpu-clock
Matched metric-id software@context-switches,name=context-switches@ to context-switches
Matched metric-id software@cpu-clock,name=cpu-clock@ to cpu-clock
found event duration_time
found event branch-misses
found event branches
Parsing metric events '{branch-misses/metric-id=branch!1misses/,branches/metric-id=branches/}:W,duration_time'
hwmon_pmu: not a hwmon file 'branch-misses'
Attempt to add: armv8_cortex_a76/metric-id=branch!1misses,branch-misses/
..after resolving event: armv8_cortex_a76/metric-id=branch!1misses,legacy-hardware-config=0x5/
branch-misses -> armv8_cortex_a76/metric-id=branch!1misses,branch-misses/
hwmon_pmu: not a hwmon file 'branch-misses'
hwmon_pmu: not a hwmon file 'branch-misses'
hwmon_pmu: not a hwmon file 'branch-misses'
hwmon_pmu: not a hwmon file 'branch-misses'
hwmon_pmu: not a hwmon file 'branch-misses'
hwmon_pmu: not a hwmon file 'branches'
Attempt to add: armv8_cortex_a76/metric-id=branches,branches/
..after resolving event: armv8_cortex_a76/metric-id=branches,legacy-hardware-config=0x4/
branches -> armv8_cortex_a76/metric-id=branches,branches/
hwmon_pmu: not a hwmon file 'branches'
hwmon_pmu: not a hwmon file 'branches'
hwmon_pmu: not a hwmon file 'branches'
hwmon_pmu: not a hwmon file 'branches'
hwmon_pmu: not a hwmon file 'branches'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
Attempt to add: tool/duration_time/
..after resolving event: tool/config=0x1/
duration_time -> tool/duration_time/
Matched metric-id branch-misses to branch-misses
Matched metric-id branches to branches
Matched metric-id duration_time to duration_time
Matched metric-id branches to branches
Matched metric-id software@cpu-clock,name=cpu-clock@ to cpu-clock
found event duration_time
found event cpu-cycles
found event stalled-cycles-backend
Parsing metric events '{cpu-cycles/metric-id=cpu!1cycles/,stalled-cycles-backend/metric-id=stalled!1cycles!1backend/}:W,duration_time'
hwmon_pmu: not a hwmon file 'cpu-cycles'
Attempt to add: armv8_cortex_a76/metric-id=cpu!1cycles,cpu-cycles/
..after resolving event: armv8_cortex_a76/metric-id=cpu!1cycles,legacy-hardware-config=0/
cpu-cycles -> armv8_cortex_a76/metric-id=cpu!1cycles,cpu-cycles/
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'cpu-cycles'
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
Attempt to add: armv8_cortex_a76/metric-id=stalled!1cycles!1backend,stalled-cycles-backend/
..after resolving event: armv8_cortex_a76/metric-id=stalled!1cycles!1backend,legacy-hardware-config=0x8/
stalled-cycles-backend -> armv8_cortex_a76/metric-id=stalled!1cycles!1backend,stalled-cycles-backend/
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
hwmon_pmu: not a hwmon file 'stalled-cycles-backend'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
hwmon_pmu: not a hwmon type 'duration' in file name 'duration_time'
Attempt to add: tool/duration_time/
..after resolving event: tool/config=0x1/
duration_time -> tool/duration_time/
Matched metric-id cpu-cycles to cpu-cycles
Matched metric-id stalled-cycles-backend to stalled-cycles-backend
Matched metric-id duration_time to duration_time
Matched metric-id software@cpu-clock,name=cpu-clock@ to cpu-clock
Matched metric-id duration_time to duration_time
Segmentation fault
root@raspberrypi:~#



  reply	other threads:[~2026-03-23 14:21 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-05 11:46 [PATCH] perf stat: Fix crash on arm64 Breno Leitao
2026-02-05 13:32 ` Dmitry Ilvokhin
2026-02-05 16:59 ` Ian Rogers
2026-02-05 17:39   ` Leo Yan
2026-02-05 17:52     ` Leo Yan
2026-02-05 18:22       ` Ian Rogers
2026-03-11 10:21         ` Breno Leitao
2026-03-11 11:50           ` Leo Yan
2026-03-23 14:21             ` Arnaldo Carvalho de Melo [this message]
2026-03-23 14:36               ` Arnaldo Carvalho de Melo
2026-03-23 15:21                 ` Leo Yan
2026-03-23 17:06             ` Ian Rogers
2026-03-24 11:00               ` Breno Leitao
2026-02-06 12:01   ` Breno Leitao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=acFMfBS-85NWuDu-@x1 \
    --to=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=dyaroshev@meta.com \
    --cc=irogers@google.com \
    --cc=james.clark@linaro.org \
    --cc=jolsa@kernel.org \
    --cc=kernel-team@meta.com \
    --cc=leitao@debian.org \
    --cc=leo.yan@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.