lkml.org 
[lkml]   [2020]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 00/18] perf metric: Add support to reuse metric
On Sun, Jul 12, 2020 at 03:26:16PM +0200, Jiri Olsa wrote:
> hi,
> this patchset is adding the support to reused metric in another
> metric. The metric needs to be referenced by 'metric:' prefix.
>
> For example, to define IPC by using CPI with change like:
>
> "BriefDescription": "Instructions Per Cycle (per Logical Processor)",
> - "MetricExpr": "INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD",
> + "MetricExpr": "1/metric:CPI",
> "MetricGroup": "TopDownL1",
> "MetricName": "IPC"
>
> I won't be able to find all the possible places we could
> use this at, so I wonder you guys (who was asking for this)
> would try it and come up with comments if there's something
> missing or we could already use it at some places.
>
> It's based on Arnaldo's tmp.perf/core.
>
> v2 changes:
> - collected Ian's acks for few patches [Ian]
> - renamed expr__add_id to expr__add_id_val [Ian]
> - renamed expr_parse_data to expr_id_data [Ian]
> - added recursion check [Ian]
> - added metric test for DCache_L2 metric [Ian]
> - added some renames as discussed in review [Ian]
>
> Also available in here:
> git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
> perf/metric

I'm having trouble testing this.

I checked out this tree, and am able to build with a JSON metrics definition
file which uses other metrics. I put this aside, though, because of the
following issue.

I built the kernel from this same tree and booted it successfully.
However, the metrics are not working correctly. (I may very well be
doing something wrong.)

The base system is RHEL8, but it's now booted with the new kernel.
```
# uname -a
Linux system 5.8.0-rc4-g7dd02cf0b #1 SMP Wed Jul 15 12:31:45 EDT 2020 ppc64le ppc64le ppc64le GNU/Linux
# perf stat --metrics cpi_breakdown ./load
failed: way too many variables

Performance counter stats for './load':

569,884 pm_cmplu_stall_bru # 0.0 bru_stall_cpi (0.66%)
5,662,892,875 pm_run_inst_cmpl (0.66%)
0 pm_cmplu_stall_crypto # 0.0 crypto_stall_cpi (0.89%)
6,728,401,038 pm_run_inst_cmpl (0.89%)
25,347,764 pm_cmplu_stall_dcache_miss # 0.0 dcache_miss_stall_cpi (1.77%)
6,727,267,383 pm_run_inst_cmpl (1.77%)
0 pm_cmplu_stall_dflong # 0.0 dflong_stall_cpi (1.77%)
6,719,648,242 pm_run_inst_cmpl (1.77%)
0 pm_cmplu_stall_dfu # 0.0 dfu_other_stall_cpi (0.89%)
[...and LOTS more output...]

# ~/install/bin/perf stat --metrics cpi_breakdown ./load

Performance counter stats for './load':

6,729,588,550 pm_run_inst_cmpl # 0.00 bru_stall_cpi
58,005 pm_cmplu_stall_bru

1.129524610 seconds time elapsed

1.126914000 seconds user
0.000955000 seconds sys

```

PC

\
 
 \ /
  Last update: 2020-07-15 20:34    [W:0.694 / U:1.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site