Re: [RFC PATCH 1/1] perf arm64: Implement --topdown with metrics
From: John Garry
Date: Fri Dec 17 2021 - 05:20:06 EST
On 14/12/2021 18:42, Andrew Kilroy wrote:
This patch implements the --topdown option by making use of metrics to
dictate what counters are obtained in order to show the various topdown
columns, e.g. Frontend Bound, Backend Bound, Retiring and Bad
Speculation.
The MetricGroup name is used to identify which set of metrics are to be
shown. For the moment use TopDownL1 and enable for arm64
Signed-off-by: Andrew Kilroy<andrew.kilroy@xxxxxxx>
This works in that it gives results, but does not supply the same output
format as for x86 nor has same restrictions in usage (-a commandline
required, for example, below).
For my x86 broadwell:
john@localhost:~/linux/tools/perf> sudo ./perf stat --topdown sleep 1
top down event configuration requires system-wide mode (-a)
john@localhost:~/linux/tools/perf> sudo ./perf stat --topdown -a sleep 1
Performance counter stats for 'system wide':
retiring bad speculation
frontend bound backend bound
S0-D0-C0 2 29.2% 6.3%
37.4% 27.1%
S0-D0-C1 2 20.4% 6.2%
42.1% 31.3%
0.998007338 seconds time elapsed
john@localhost:~/linux/tools/perf>
---
Then my arm64 hip08 platform:
john@debian:~/kernel-dev/tools/perf$ sudo ./perf stat --topdown sleep 1
Performance counter stats for 'sleep 1':
retiring bad_speculation backend_bound
frontend_bound
0.19 0.17 0.27
0.37
1.000832714 seconds time elapsed
0.000891000 seconds user
0.000000000 seconds sys
And there is no colouring for results which are above/below standard
thresholds (see stat-shadow.c:get_radio_color()).
My impression is that we're not plugging the results from
metricgroup__parse_groups_to_evlist() into the --topdown print
functionality properly.
Thanks,
John