Re: [PATCH] perf stat: update POWER9 metrics to utilize other metrics

2020-08-26 Thread Ian Rogers
On Wed, Aug 26, 2020 at 7:06 PM Paul A. Clarke  wrote:
>
> On Wed, Aug 26, 2020 at 09:26:40AM -0700, Ian Rogers wrote:
> > On Fri, Aug 14, 2020 at 5:43 AM Arnaldo Carvalho de Melo
> >  wrote:
> > > Em Fri, Aug 14, 2020 at 11:20:42AM +0530, kajoljain escreveu:
> > > > On 8/14/20 9:13 AM, Ian Rogers wrote:
> > > > > On Thu, Aug 13, 2020 at 3:21 PM Paul A. Clarke  
> > > > > wrote:
> > > > >> These changes take advantage of the new capability added in
> > > > >> merge commit 00e4db51259a5f936fec1424b884f029479d3981
> > > > >> "Allow using computed metrics in calculating other metrics".
> > > > >>
> > > > >> The net is a simplification of the expressions for a handful
> > > > >> of metrics, but no functional change.
> > > > >>
> > > > >> Signed-off-by: Paul A. Clarke 
> > > >
> > > >   The patch looks good to me.
> > > >
> > > > Reviewed-by: Kajol Jain
> > >
> > > Thanks, applied. Added Ian's Acked-by as well.
> >
> > I've synced perf and testing on a remote machine (not easy for me to
> > log into) I see failures in perf test "10.3: Parsing of PMU event
> > table metrics" like:
> > ...
> > parsing metric: dfu_stall_cpi - dflong_stall_cpi
> > Parse event failed metric 'dfu_other_stall_cpi' id 'dflong_stall_cpi'
> > expr 'dfu_stall_cpi - dflong_stall_cpi'
> > Error string 'parser error' help '(null)'
> > Parse event failed metric 'dfu_other_stall_cpi' id 'dfu_stall_cpi'
> > expr 'dfu_stall_cpi - dflong_stall_cpi'
> > Error string 'parser error' help '(null)'
> > ...
> >
> > This may be that the test doesn't handle the metric in terms of metric
> > addition and so I'll look for a fix. I thought I'd send a heads up in
> > case you had already seen/addressed this. Is perf test on PowerPC
> > clean for you at the moment?
>
> I see these errors as well (on 5.9-rc2).  Each error seems to be for the
> newer metrics that take advantage of the newer functionality, including
> the metrics I changed recently, and Kajol's 24x7 and nest metrics.
>
> Thanks for the heads up!  I confess I had not seen the errors only because
> I wasn't looking.  :-/

No worries, if we create a similar Intel metric it will likely exhibit
a similar issue in the test. Arnaldo and I have wondered about having
an all architectures mode for jevents to make it easier to test cases
like this. As my PowerPC set up is a bit special it is great that
you've confirmed this isn't at fault :-) I'll try to get time to dig a
little further.

Thanks,
Ian

> PC


Re: [PATCH] perf stat: update POWER9 metrics to utilize other metrics

2020-08-26 Thread Paul A. Clarke
On Wed, Aug 26, 2020 at 09:26:40AM -0700, Ian Rogers wrote:
> On Fri, Aug 14, 2020 at 5:43 AM Arnaldo Carvalho de Melo
>  wrote:
> > Em Fri, Aug 14, 2020 at 11:20:42AM +0530, kajoljain escreveu:
> > > On 8/14/20 9:13 AM, Ian Rogers wrote:
> > > > On Thu, Aug 13, 2020 at 3:21 PM Paul A. Clarke  wrote:
> > > >> These changes take advantage of the new capability added in
> > > >> merge commit 00e4db51259a5f936fec1424b884f029479d3981
> > > >> "Allow using computed metrics in calculating other metrics".
> > > >>
> > > >> The net is a simplification of the expressions for a handful
> > > >> of metrics, but no functional change.
> > > >>
> > > >> Signed-off-by: Paul A. Clarke 
> > >
> > >   The patch looks good to me.
> > >
> > > Reviewed-by: Kajol Jain
> >
> > Thanks, applied. Added Ian's Acked-by as well.
> 
> I've synced perf and testing on a remote machine (not easy for me to
> log into) I see failures in perf test "10.3: Parsing of PMU event
> table metrics" like:
> ...
> parsing metric: dfu_stall_cpi - dflong_stall_cpi
> Parse event failed metric 'dfu_other_stall_cpi' id 'dflong_stall_cpi'
> expr 'dfu_stall_cpi - dflong_stall_cpi'
> Error string 'parser error' help '(null)'
> Parse event failed metric 'dfu_other_stall_cpi' id 'dfu_stall_cpi'
> expr 'dfu_stall_cpi - dflong_stall_cpi'
> Error string 'parser error' help '(null)'
> ...
> 
> This may be that the test doesn't handle the metric in terms of metric
> addition and so I'll look for a fix. I thought I'd send a heads up in
> case you had already seen/addressed this. Is perf test on PowerPC
> clean for you at the moment?

I see these errors as well (on 5.9-rc2).  Each error seems to be for the
newer metrics that take advantage of the newer functionality, including
the metrics I changed recently, and Kajol's 24x7 and nest metrics.

Thanks for the heads up!  I confess I had not seen the errors only because
I wasn't looking.  :-/

PC


Re: [PATCH] perf stat: update POWER9 metrics to utilize other metrics

2020-08-26 Thread Ian Rogers
On Fri, Aug 14, 2020 at 5:43 AM Arnaldo Carvalho de Melo
 wrote:
>
> Em Fri, Aug 14, 2020 at 11:20:42AM +0530, kajoljain escreveu:
> >
> >
> > On 8/14/20 9:13 AM, Ian Rogers wrote:
> > > On Thu, Aug 13, 2020 at 3:21 PM Paul A. Clarke  wrote:
> > >>
> > >> These changes take advantage of the new capability added in
> > >> merge commit 00e4db51259a5f936fec1424b884f029479d3981
> > >> "Allow using computed metrics in calculating other metrics".
> > >>
> > >> The net is a simplification of the expressions for a handful
> > >> of metrics, but no functional change.
> > >>
> > >> Signed-off-by: Paul A. Clarke 
> > >
> >
> > Hi Paul,
> >   The patch looks good to me.
> >
> > Reviewed-by: Kajol Jain
>
> Thanks, applied. Added Ian's Acked-by as well.
>
> - Arnaldo

Hi Paul,

I've synced perf and testing on a remote machine (not easy for me to
log into) I see failures in perf test "10.3: Parsing of PMU event
table metrics" like:
...
parsing metric: dfu_stall_cpi - dflong_stall_cpi
Parse event failed metric 'dfu_other_stall_cpi' id 'dflong_stall_cpi'
expr 'dfu_stall_cpi - dflong_stall_cpi'
Error string 'parser error' help '(null)'
Parse event failed metric 'dfu_other_stall_cpi' id 'dfu_stall_cpi'
expr 'dfu_stall_cpi - dflong_stall_cpi'
Error string 'parser error' help '(null)'
...
This may be that the test doesn't handle the metric in terms of metric
addition and so I'll look for a fix. I thought I'd send a heads up in
case you had already seen/addressed this. Is perf test on PowerPC
clean for you at the moment?

Thanks,
Ian


> > Thanks,
> > Kajol Jain
> >
> > > Acked-by: Ian Rogers 
> > > (Re-sent with plain text enabled to avoid lkml bounce)
> > >
> > > Thanks,
> > > Ian
> > >
> > >
> > >>
> > >> ---
> > >>  .../arch/powerpc/power9/metrics.json  | 48 +--
> > >>  1 file changed, 24 insertions(+), 24 deletions(-)
> > >>
> > >> diff --git a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json 
> > >> b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> > >> index 80816d6402e9..f8784c608479 100644
> > >> --- a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> > >> +++ b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> > >> @@ -60,7 +60,7 @@
> > >>  },
> > >>  {
> > >>  "BriefDescription": "Stalls due to short latency decimal 
> > >> floating ops.",
> > >> -"MetricExpr": "(PM_CMPLU_STALL_DFU - 
> > >> PM_CMPLU_STALL_DFLONG)/PM_RUN_INST_CMPL",
> > >> +"MetricExpr": "dfu_stall_cpi - dflong_stall_cpi",
> > >>  "MetricGroup": "cpi_breakdown",
> > >>  "MetricName": "dfu_other_stall_cpi"
> > >>  },
> > >> @@ -72,7 +72,7 @@
> > >>  },
> > >>  {
> > >>  "BriefDescription": "Completion stall by Dcache miss which 
> > >> resolved off node memory/cache",
> > >> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - 
> > >> PM_CMPLU_STALL_DMISS_L21_L31 - PM_CMPLU_STALL_DMISS_LMEM - 
> > >> PM_CMPLU_STALL_DMISS_REMOTE)/PM_RUN_INST_CMPL",
> > >> +"MetricExpr": "dmiss_non_local_stall_cpi - 
> > >> dmiss_remote_stall_cpi",
> > >>  "MetricGroup": "cpi_breakdown",
> > >>  "MetricName": "dmiss_distant_stall_cpi"
> > >>  },
> > >> @@ -90,7 +90,7 @@
> > >>  },
> > >>  {
> > >>  "BriefDescription": "Completion stall due to cache miss that 
> > >> resolves in the L2 or L3 without conflict",
> > >> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L2L3 - 
> > >> PM_CMPLU_STALL_DMISS_L2L3_CONFLICT)/PM_RUN_INST_CMPL",
> > >> +"MetricExpr": "dmiss_l2l3_stall_cpi - 
> > >> dmiss_l2l3_conflict_stall_cpi",
> > >>  "MetricGroup": "cpi_breakdown",
> > >>  "MetricName": "dmiss_l2l3_noconflict_stall_cpi"
> > >>  },
> > >> @@ -114,7 +114,7 @@
> > >>  },
> > >>  {
> > >>  "BriefDescription": "Completion stall by Dcache miss which 
> > >> resolved outside of local memory",
> > >> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - 
> > >> PM_CMPLU_STALL_DMISS_L21_L31 - 
> > >> PM_CMPLU_STALL_DMISS_LMEM)/PM_RUN_INST_CMPL",
> > >> +"MetricExpr": "dmiss_l3miss_stall_cpi - dmiss_l21_l31_stall_cpi 
> > >> - dmiss_lmem_stall_cpi",
> > >>  "MetricGroup": "cpi_breakdown",
> > >>  "MetricName": "dmiss_non_local_stall_cpi"
> > >>  },
> > >> @@ -126,7 +126,7 @@
> > >>  },
> > >>  {
> > >>  "BriefDescription": "Stalls due to short latency double 
> > >> precision ops.",
> > >> -"MetricExpr": "(PM_CMPLU_STALL_DP - 
> > >> PM_CMPLU_STALL_DPLONG)/PM_RUN_INST_CMPL",
> > >> +"MetricExpr": "dp_stall_cpi - dplong_stall_cpi",
> > >>  "MetricGroup": "cpi_breakdown",
> > >>  "MetricName": "dp_other_stall_cpi"
> > >>  },
> > >> @@ -155,7 +155,7 @@
> > >>  "MetricName": "emq_full_stall_cpi"
> > >>  },
> > >>  {
> > >> -"MetricExpr": "(PM_CMPLU_STALL_ERAT_MISS + 
> > >> PM_CMPLU_STALL_EMQ_FULL)/PM_RUN_INST_CMPL",
> > >> +"MetricExpr": "erat_miss_stall_cpi + 

Re: [PATCH] perf stat: update POWER9 metrics to utilize other metrics

2020-08-14 Thread Arnaldo Carvalho de Melo
Em Fri, Aug 14, 2020 at 11:20:42AM +0530, kajoljain escreveu:
> 
> 
> On 8/14/20 9:13 AM, Ian Rogers wrote:
> > On Thu, Aug 13, 2020 at 3:21 PM Paul A. Clarke  wrote:
> >>
> >> These changes take advantage of the new capability added in
> >> merge commit 00e4db51259a5f936fec1424b884f029479d3981
> >> "Allow using computed metrics in calculating other metrics".
> >>
> >> The net is a simplification of the expressions for a handful
> >> of metrics, but no functional change.
> >>
> >> Signed-off-by: Paul A. Clarke 
> > 
> 
> Hi Paul,
>   The patch looks good to me.
> 
> Reviewed-by: Kajol Jain

Thanks, applied. Added Ian's Acked-by as well.

- Arnaldo
 
> Thanks,
> Kajol Jain
> 
> > Acked-by: Ian Rogers 
> > (Re-sent with plain text enabled to avoid lkml bounce)
> > 
> > Thanks,
> > Ian
> > 
> > 
> >>
> >> ---
> >>  .../arch/powerpc/power9/metrics.json  | 48 +--
> >>  1 file changed, 24 insertions(+), 24 deletions(-)
> >>
> >> diff --git a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json 
> >> b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> >> index 80816d6402e9..f8784c608479 100644
> >> --- a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> >> +++ b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> >> @@ -60,7 +60,7 @@
> >>  },
> >>  {
> >>  "BriefDescription": "Stalls due to short latency decimal floating 
> >> ops.",
> >> -"MetricExpr": "(PM_CMPLU_STALL_DFU - 
> >> PM_CMPLU_STALL_DFLONG)/PM_RUN_INST_CMPL",
> >> +"MetricExpr": "dfu_stall_cpi - dflong_stall_cpi",
> >>  "MetricGroup": "cpi_breakdown",
> >>  "MetricName": "dfu_other_stall_cpi"
> >>  },
> >> @@ -72,7 +72,7 @@
> >>  },
> >>  {
> >>  "BriefDescription": "Completion stall by Dcache miss which 
> >> resolved off node memory/cache",
> >> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - 
> >> PM_CMPLU_STALL_DMISS_L21_L31 - PM_CMPLU_STALL_DMISS_LMEM - 
> >> PM_CMPLU_STALL_DMISS_REMOTE)/PM_RUN_INST_CMPL",
> >> +"MetricExpr": "dmiss_non_local_stall_cpi - 
> >> dmiss_remote_stall_cpi",
> >>  "MetricGroup": "cpi_breakdown",
> >>  "MetricName": "dmiss_distant_stall_cpi"
> >>  },
> >> @@ -90,7 +90,7 @@
> >>  },
> >>  {
> >>  "BriefDescription": "Completion stall due to cache miss that 
> >> resolves in the L2 or L3 without conflict",
> >> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L2L3 - 
> >> PM_CMPLU_STALL_DMISS_L2L3_CONFLICT)/PM_RUN_INST_CMPL",
> >> +"MetricExpr": "dmiss_l2l3_stall_cpi - 
> >> dmiss_l2l3_conflict_stall_cpi",
> >>  "MetricGroup": "cpi_breakdown",
> >>  "MetricName": "dmiss_l2l3_noconflict_stall_cpi"
> >>  },
> >> @@ -114,7 +114,7 @@
> >>  },
> >>  {
> >>  "BriefDescription": "Completion stall by Dcache miss which 
> >> resolved outside of local memory",
> >> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - 
> >> PM_CMPLU_STALL_DMISS_L21_L31 - 
> >> PM_CMPLU_STALL_DMISS_LMEM)/PM_RUN_INST_CMPL",
> >> +"MetricExpr": "dmiss_l3miss_stall_cpi - dmiss_l21_l31_stall_cpi - 
> >> dmiss_lmem_stall_cpi",
> >>  "MetricGroup": "cpi_breakdown",
> >>  "MetricName": "dmiss_non_local_stall_cpi"
> >>  },
> >> @@ -126,7 +126,7 @@
> >>  },
> >>  {
> >>  "BriefDescription": "Stalls due to short latency double precision 
> >> ops.",
> >> -"MetricExpr": "(PM_CMPLU_STALL_DP - 
> >> PM_CMPLU_STALL_DPLONG)/PM_RUN_INST_CMPL",
> >> +"MetricExpr": "dp_stall_cpi - dplong_stall_cpi",
> >>  "MetricGroup": "cpi_breakdown",
> >>  "MetricName": "dp_other_stall_cpi"
> >>  },
> >> @@ -155,7 +155,7 @@
> >>  "MetricName": "emq_full_stall_cpi"
> >>  },
> >>  {
> >> -"MetricExpr": "(PM_CMPLU_STALL_ERAT_MISS + 
> >> PM_CMPLU_STALL_EMQ_FULL)/PM_RUN_INST_CMPL",
> >> +"MetricExpr": "erat_miss_stall_cpi + emq_full_stall_cpi",
> >>  "MetricGroup": "cpi_breakdown",
> >>  "MetricName": "emq_stall_cpi"
> >>  },
> >> @@ -173,7 +173,7 @@
> >>  },
> >>  {
> >>  "BriefDescription": "Completion stall due to execution units for 
> >> other reasons.",
> >> -"MetricExpr": "(PM_CMPLU_STALL_EXEC_UNIT - PM_CMPLU_STALL_FXU - 
> >> PM_CMPLU_STALL_DP - PM_CMPLU_STALL_DFU - PM_CMPLU_STALL_PM - 
> >> PM_CMPLU_STALL_CRYPTO - PM_CMPLU_STALL_VFXU - 
> >> PM_CMPLU_STALL_VDP)/PM_RUN_INST_CMPL",
> >> +"MetricExpr": "exec_unit_stall_cpi - scalar_stall_cpi - 
> >> vector_stall_cpi",
> >>  "MetricGroup": "cpi_breakdown",
> >>  "MetricName": "exec_unit_other_stall_cpi"
> >>  },
> >> @@ -197,7 +197,7 @@
> >>  },
> >>  {
> >>  "BriefDescription": "Stalls due to short latency integer ops",
> >> -"MetricExpr": "(PM_CMPLU_STALL_FXU - 
> >> PM_CMPLU_STALL_FXLONG)/PM_RUN_INST_CMPL",
> >> +"MetricExpr": "fxu_stall_cpi - fxlong_stall_cpi",
> >>  "MetricGroup": "cpi_breakdown",
> 

Re: [PATCH] perf stat: update POWER9 metrics to utilize other metrics

2020-08-13 Thread kajoljain



On 8/14/20 9:13 AM, Ian Rogers wrote:
> On Thu, Aug 13, 2020 at 3:21 PM Paul A. Clarke  wrote:
>>
>> These changes take advantage of the new capability added in
>> merge commit 00e4db51259a5f936fec1424b884f029479d3981
>> "Allow using computed metrics in calculating other metrics".
>>
>> The net is a simplification of the expressions for a handful
>> of metrics, but no functional change.
>>
>> Signed-off-by: Paul A. Clarke 
> 

Hi Paul,
  The patch looks good to me.

Reviewed-by: Kajol Jain

Thanks,
Kajol Jain

> Acked-by: Ian Rogers 
> (Re-sent with plain text enabled to avoid lkml bounce)
> 
> Thanks,
> Ian
> 
> 
>>
>> ---
>>  .../arch/powerpc/power9/metrics.json  | 48 +--
>>  1 file changed, 24 insertions(+), 24 deletions(-)
>>
>> diff --git a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json 
>> b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
>> index 80816d6402e9..f8784c608479 100644
>> --- a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
>> +++ b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
>> @@ -60,7 +60,7 @@
>>  },
>>  {
>>  "BriefDescription": "Stalls due to short latency decimal floating 
>> ops.",
>> -"MetricExpr": "(PM_CMPLU_STALL_DFU - 
>> PM_CMPLU_STALL_DFLONG)/PM_RUN_INST_CMPL",
>> +"MetricExpr": "dfu_stall_cpi - dflong_stall_cpi",
>>  "MetricGroup": "cpi_breakdown",
>>  "MetricName": "dfu_other_stall_cpi"
>>  },
>> @@ -72,7 +72,7 @@
>>  },
>>  {
>>  "BriefDescription": "Completion stall by Dcache miss which resolved 
>> off node memory/cache",
>> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - 
>> PM_CMPLU_STALL_DMISS_L21_L31 - PM_CMPLU_STALL_DMISS_LMEM - 
>> PM_CMPLU_STALL_DMISS_REMOTE)/PM_RUN_INST_CMPL",
>> +"MetricExpr": "dmiss_non_local_stall_cpi - dmiss_remote_stall_cpi",
>>  "MetricGroup": "cpi_breakdown",
>>  "MetricName": "dmiss_distant_stall_cpi"
>>  },
>> @@ -90,7 +90,7 @@
>>  },
>>  {
>>  "BriefDescription": "Completion stall due to cache miss that 
>> resolves in the L2 or L3 without conflict",
>> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L2L3 - 
>> PM_CMPLU_STALL_DMISS_L2L3_CONFLICT)/PM_RUN_INST_CMPL",
>> +"MetricExpr": "dmiss_l2l3_stall_cpi - 
>> dmiss_l2l3_conflict_stall_cpi",
>>  "MetricGroup": "cpi_breakdown",
>>  "MetricName": "dmiss_l2l3_noconflict_stall_cpi"
>>  },
>> @@ -114,7 +114,7 @@
>>  },
>>  {
>>  "BriefDescription": "Completion stall by Dcache miss which resolved 
>> outside of local memory",
>> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - 
>> PM_CMPLU_STALL_DMISS_L21_L31 - PM_CMPLU_STALL_DMISS_LMEM)/PM_RUN_INST_CMPL",
>> +"MetricExpr": "dmiss_l3miss_stall_cpi - dmiss_l21_l31_stall_cpi - 
>> dmiss_lmem_stall_cpi",
>>  "MetricGroup": "cpi_breakdown",
>>  "MetricName": "dmiss_non_local_stall_cpi"
>>  },
>> @@ -126,7 +126,7 @@
>>  },
>>  {
>>  "BriefDescription": "Stalls due to short latency double precision 
>> ops.",
>> -"MetricExpr": "(PM_CMPLU_STALL_DP - 
>> PM_CMPLU_STALL_DPLONG)/PM_RUN_INST_CMPL",
>> +"MetricExpr": "dp_stall_cpi - dplong_stall_cpi",
>>  "MetricGroup": "cpi_breakdown",
>>  "MetricName": "dp_other_stall_cpi"
>>  },
>> @@ -155,7 +155,7 @@
>>  "MetricName": "emq_full_stall_cpi"
>>  },
>>  {
>> -"MetricExpr": "(PM_CMPLU_STALL_ERAT_MISS + 
>> PM_CMPLU_STALL_EMQ_FULL)/PM_RUN_INST_CMPL",
>> +"MetricExpr": "erat_miss_stall_cpi + emq_full_stall_cpi",
>>  "MetricGroup": "cpi_breakdown",
>>  "MetricName": "emq_stall_cpi"
>>  },
>> @@ -173,7 +173,7 @@
>>  },
>>  {
>>  "BriefDescription": "Completion stall due to execution units for 
>> other reasons.",
>> -"MetricExpr": "(PM_CMPLU_STALL_EXEC_UNIT - PM_CMPLU_STALL_FXU - 
>> PM_CMPLU_STALL_DP - PM_CMPLU_STALL_DFU - PM_CMPLU_STALL_PM - 
>> PM_CMPLU_STALL_CRYPTO - PM_CMPLU_STALL_VFXU - 
>> PM_CMPLU_STALL_VDP)/PM_RUN_INST_CMPL",
>> +"MetricExpr": "exec_unit_stall_cpi - scalar_stall_cpi - 
>> vector_stall_cpi",
>>  "MetricGroup": "cpi_breakdown",
>>  "MetricName": "exec_unit_other_stall_cpi"
>>  },
>> @@ -197,7 +197,7 @@
>>  },
>>  {
>>  "BriefDescription": "Stalls due to short latency integer ops",
>> -"MetricExpr": "(PM_CMPLU_STALL_FXU - 
>> PM_CMPLU_STALL_FXLONG)/PM_RUN_INST_CMPL",
>> +"MetricExpr": "fxu_stall_cpi - fxlong_stall_cpi",
>>  "MetricGroup": "cpi_breakdown",
>>  "MetricName": "fxu_other_stall_cpi"
>>  },
>> @@ -221,7 +221,7 @@
>>  },
>>  {
>>  "BriefDescription": "Instruction Completion Table other stalls",
>> -"MetricExpr": "(PM_ICT_NOSLOT_CYC - PM_ICT_NOSLOT_IC_MISS - 
>> PM_ICT_NOSLOT_BR_MPRED_ICMISS - PM_ICT_NOSLOT_BR_MPRED - 
>> PM_ICT_NOSLOT_DISP_HELD)/PM_RUN_INST_CMPL",
>> +"MetricExpr": 

Re: [PATCH] perf stat: update POWER9 metrics to utilize other metrics

2020-08-13 Thread Ian Rogers
On Thu, Aug 13, 2020 at 3:21 PM Paul A. Clarke  wrote:
>
> These changes take advantage of the new capability added in
> merge commit 00e4db51259a5f936fec1424b884f029479d3981
> "Allow using computed metrics in calculating other metrics".
>
> The net is a simplification of the expressions for a handful
> of metrics, but no functional change.
>
> Signed-off-by: Paul A. Clarke 

Acked-by: Ian Rogers 
(Re-sent with plain text enabled to avoid lkml bounce)

Thanks,
Ian


>
> ---
>  .../arch/powerpc/power9/metrics.json  | 48 +--
>  1 file changed, 24 insertions(+), 24 deletions(-)
>
> diff --git a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json 
> b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> index 80816d6402e9..f8784c608479 100644
> --- a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> +++ b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> @@ -60,7 +60,7 @@
>  },
>  {
>  "BriefDescription": "Stalls due to short latency decimal floating 
> ops.",
> -"MetricExpr": "(PM_CMPLU_STALL_DFU - 
> PM_CMPLU_STALL_DFLONG)/PM_RUN_INST_CMPL",
> +"MetricExpr": "dfu_stall_cpi - dflong_stall_cpi",
>  "MetricGroup": "cpi_breakdown",
>  "MetricName": "dfu_other_stall_cpi"
>  },
> @@ -72,7 +72,7 @@
>  },
>  {
>  "BriefDescription": "Completion stall by Dcache miss which resolved 
> off node memory/cache",
> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - 
> PM_CMPLU_STALL_DMISS_L21_L31 - PM_CMPLU_STALL_DMISS_LMEM - 
> PM_CMPLU_STALL_DMISS_REMOTE)/PM_RUN_INST_CMPL",
> +"MetricExpr": "dmiss_non_local_stall_cpi - dmiss_remote_stall_cpi",
>  "MetricGroup": "cpi_breakdown",
>  "MetricName": "dmiss_distant_stall_cpi"
>  },
> @@ -90,7 +90,7 @@
>  },
>  {
>  "BriefDescription": "Completion stall due to cache miss that 
> resolves in the L2 or L3 without conflict",
> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L2L3 - 
> PM_CMPLU_STALL_DMISS_L2L3_CONFLICT)/PM_RUN_INST_CMPL",
> +"MetricExpr": "dmiss_l2l3_stall_cpi - dmiss_l2l3_conflict_stall_cpi",
>  "MetricGroup": "cpi_breakdown",
>  "MetricName": "dmiss_l2l3_noconflict_stall_cpi"
>  },
> @@ -114,7 +114,7 @@
>  },
>  {
>  "BriefDescription": "Completion stall by Dcache miss which resolved 
> outside of local memory",
> -"MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - 
> PM_CMPLU_STALL_DMISS_L21_L31 - PM_CMPLU_STALL_DMISS_LMEM)/PM_RUN_INST_CMPL",
> +"MetricExpr": "dmiss_l3miss_stall_cpi - dmiss_l21_l31_stall_cpi - 
> dmiss_lmem_stall_cpi",
>  "MetricGroup": "cpi_breakdown",
>  "MetricName": "dmiss_non_local_stall_cpi"
>  },
> @@ -126,7 +126,7 @@
>  },
>  {
>  "BriefDescription": "Stalls due to short latency double precision 
> ops.",
> -"MetricExpr": "(PM_CMPLU_STALL_DP - 
> PM_CMPLU_STALL_DPLONG)/PM_RUN_INST_CMPL",
> +"MetricExpr": "dp_stall_cpi - dplong_stall_cpi",
>  "MetricGroup": "cpi_breakdown",
>  "MetricName": "dp_other_stall_cpi"
>  },
> @@ -155,7 +155,7 @@
>  "MetricName": "emq_full_stall_cpi"
>  },
>  {
> -"MetricExpr": "(PM_CMPLU_STALL_ERAT_MISS + 
> PM_CMPLU_STALL_EMQ_FULL)/PM_RUN_INST_CMPL",
> +"MetricExpr": "erat_miss_stall_cpi + emq_full_stall_cpi",
>  "MetricGroup": "cpi_breakdown",
>  "MetricName": "emq_stall_cpi"
>  },
> @@ -173,7 +173,7 @@
>  },
>  {
>  "BriefDescription": "Completion stall due to execution units for 
> other reasons.",
> -"MetricExpr": "(PM_CMPLU_STALL_EXEC_UNIT - PM_CMPLU_STALL_FXU - 
> PM_CMPLU_STALL_DP - PM_CMPLU_STALL_DFU - PM_CMPLU_STALL_PM - 
> PM_CMPLU_STALL_CRYPTO - PM_CMPLU_STALL_VFXU - 
> PM_CMPLU_STALL_VDP)/PM_RUN_INST_CMPL",
> +"MetricExpr": "exec_unit_stall_cpi - scalar_stall_cpi - 
> vector_stall_cpi",
>  "MetricGroup": "cpi_breakdown",
>  "MetricName": "exec_unit_other_stall_cpi"
>  },
> @@ -197,7 +197,7 @@
>  },
>  {
>  "BriefDescription": "Stalls due to short latency integer ops",
> -"MetricExpr": "(PM_CMPLU_STALL_FXU - 
> PM_CMPLU_STALL_FXLONG)/PM_RUN_INST_CMPL",
> +"MetricExpr": "fxu_stall_cpi - fxlong_stall_cpi",
>  "MetricGroup": "cpi_breakdown",
>  "MetricName": "fxu_other_stall_cpi"
>  },
> @@ -221,7 +221,7 @@
>  },
>  {
>  "BriefDescription": "Instruction Completion Table other stalls",
> -"MetricExpr": "(PM_ICT_NOSLOT_CYC - PM_ICT_NOSLOT_IC_MISS - 
> PM_ICT_NOSLOT_BR_MPRED_ICMISS - PM_ICT_NOSLOT_BR_MPRED - 
> PM_ICT_NOSLOT_DISP_HELD)/PM_RUN_INST_CMPL",
> +"MetricExpr": "nothing_dispatched_cpi - ict_noslot_ic_miss_cpi - 
> ict_noslot_br_mpred_icmiss_cpi - ict_noslot_br_mpred_cpi - 
> ict_noslot_disp_held_cpi",
>  "MetricGroup": "cpi_breakdown",
>  "MetricName": "ict_noslot_cyc_other_cpi"
>  },
> @@ -245,7 +245,7 @@
>

[PATCH] perf stat: update POWER9 metrics to utilize other metrics

2020-08-13 Thread Paul A. Clarke
These changes take advantage of the new capability added in
merge commit 00e4db51259a5f936fec1424b884f029479d3981
"Allow using computed metrics in calculating other metrics".

The net is a simplification of the expressions for a handful
of metrics, but no functional change.

Signed-off-by: Paul A. Clarke 
---
 .../arch/powerpc/power9/metrics.json  | 48 +--
 1 file changed, 24 insertions(+), 24 deletions(-)

diff --git a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json 
b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
index 80816d6402e9..f8784c608479 100644
--- a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
+++ b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
@@ -60,7 +60,7 @@
 },
 {
 "BriefDescription": "Stalls due to short latency decimal floating 
ops.",
-"MetricExpr": "(PM_CMPLU_STALL_DFU - 
PM_CMPLU_STALL_DFLONG)/PM_RUN_INST_CMPL",
+"MetricExpr": "dfu_stall_cpi - dflong_stall_cpi",
 "MetricGroup": "cpi_breakdown",
 "MetricName": "dfu_other_stall_cpi"
 },
@@ -72,7 +72,7 @@
 },
 {
 "BriefDescription": "Completion stall by Dcache miss which resolved 
off node memory/cache",
-"MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - 
PM_CMPLU_STALL_DMISS_L21_L31 - PM_CMPLU_STALL_DMISS_LMEM - 
PM_CMPLU_STALL_DMISS_REMOTE)/PM_RUN_INST_CMPL",
+"MetricExpr": "dmiss_non_local_stall_cpi - dmiss_remote_stall_cpi",
 "MetricGroup": "cpi_breakdown",
 "MetricName": "dmiss_distant_stall_cpi"
 },
@@ -90,7 +90,7 @@
 },
 {
 "BriefDescription": "Completion stall due to cache miss that resolves 
in the L2 or L3 without conflict",
-"MetricExpr": "(PM_CMPLU_STALL_DMISS_L2L3 - 
PM_CMPLU_STALL_DMISS_L2L3_CONFLICT)/PM_RUN_INST_CMPL",
+"MetricExpr": "dmiss_l2l3_stall_cpi - dmiss_l2l3_conflict_stall_cpi",
 "MetricGroup": "cpi_breakdown",
 "MetricName": "dmiss_l2l3_noconflict_stall_cpi"
 },
@@ -114,7 +114,7 @@
 },
 {
 "BriefDescription": "Completion stall by Dcache miss which resolved 
outside of local memory",
-"MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - 
PM_CMPLU_STALL_DMISS_L21_L31 - PM_CMPLU_STALL_DMISS_LMEM)/PM_RUN_INST_CMPL",
+"MetricExpr": "dmiss_l3miss_stall_cpi - dmiss_l21_l31_stall_cpi - 
dmiss_lmem_stall_cpi",
 "MetricGroup": "cpi_breakdown",
 "MetricName": "dmiss_non_local_stall_cpi"
 },
@@ -126,7 +126,7 @@
 },
 {
 "BriefDescription": "Stalls due to short latency double precision 
ops.",
-"MetricExpr": "(PM_CMPLU_STALL_DP - 
PM_CMPLU_STALL_DPLONG)/PM_RUN_INST_CMPL",
+"MetricExpr": "dp_stall_cpi - dplong_stall_cpi",
 "MetricGroup": "cpi_breakdown",
 "MetricName": "dp_other_stall_cpi"
 },
@@ -155,7 +155,7 @@
 "MetricName": "emq_full_stall_cpi"
 },
 {
-"MetricExpr": "(PM_CMPLU_STALL_ERAT_MISS + 
PM_CMPLU_STALL_EMQ_FULL)/PM_RUN_INST_CMPL",
+"MetricExpr": "erat_miss_stall_cpi + emq_full_stall_cpi",
 "MetricGroup": "cpi_breakdown",
 "MetricName": "emq_stall_cpi"
 },
@@ -173,7 +173,7 @@
 },
 {
 "BriefDescription": "Completion stall due to execution units for other 
reasons.",
-"MetricExpr": "(PM_CMPLU_STALL_EXEC_UNIT - PM_CMPLU_STALL_FXU - 
PM_CMPLU_STALL_DP - PM_CMPLU_STALL_DFU - PM_CMPLU_STALL_PM - 
PM_CMPLU_STALL_CRYPTO - PM_CMPLU_STALL_VFXU - 
PM_CMPLU_STALL_VDP)/PM_RUN_INST_CMPL",
+"MetricExpr": "exec_unit_stall_cpi - scalar_stall_cpi - 
vector_stall_cpi",
 "MetricGroup": "cpi_breakdown",
 "MetricName": "exec_unit_other_stall_cpi"
 },
@@ -197,7 +197,7 @@
 },
 {
 "BriefDescription": "Stalls due to short latency integer ops",
-"MetricExpr": "(PM_CMPLU_STALL_FXU - 
PM_CMPLU_STALL_FXLONG)/PM_RUN_INST_CMPL",
+"MetricExpr": "fxu_stall_cpi - fxlong_stall_cpi",
 "MetricGroup": "cpi_breakdown",
 "MetricName": "fxu_other_stall_cpi"
 },
@@ -221,7 +221,7 @@
 },
 {
 "BriefDescription": "Instruction Completion Table other stalls",
-"MetricExpr": "(PM_ICT_NOSLOT_CYC - PM_ICT_NOSLOT_IC_MISS - 
PM_ICT_NOSLOT_BR_MPRED_ICMISS - PM_ICT_NOSLOT_BR_MPRED - 
PM_ICT_NOSLOT_DISP_HELD)/PM_RUN_INST_CMPL",
+"MetricExpr": "nothing_dispatched_cpi - ict_noslot_ic_miss_cpi - 
ict_noslot_br_mpred_icmiss_cpi - ict_noslot_br_mpred_cpi - 
ict_noslot_disp_held_cpi",
 "MetricGroup": "cpi_breakdown",
 "MetricName": "ict_noslot_cyc_other_cpi"
 },
@@ -245,7 +245,7 @@
 },
 {
 "BriefDescription": "ICT_NOSLOT_DISP_HELD_OTHER_CPI",
-"MetricExpr": "(PM_ICT_NOSLOT_DISP_HELD - 
PM_ICT_NOSLOT_DISP_HELD_HB_FULL - PM_ICT_NOSLOT_DISP_HELD_SYNC - 
PM_ICT_NOSLOT_DISP_HELD_TBEGIN - 
PM_ICT_NOSLOT_DISP_HELD_ISSQ)/PM_RUN_INST_CMPL",
+"MetricExpr": "ict_noslot_disp_held_cpi - 
ict_noslot_disp_held_hb_full_cpi - ict_noslot_disp_held_sync_cpi -