linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
To: Ian Rogers <irogers@google.com>
Cc: kajoljain <kjain@linux.ibm.com>, "Paul A. Clarke" <pc@us.ibm.com>,
	linux-perf-users <linux-perf-users@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	ananth@linux.vnet.ibm.com, maddy@linux.vnet.ibm.com,
	naveen.n.rao@linux.vnet.ibm.com, sukadev@linux.ibm.com,
	mpe@ellerman.id.au
Subject: Re: [PATCH 2/2] perf: Add missing metrics to POWER9 'cpi_breakdown'
Date: Mon, 11 May 2020 12:29:15 -0300	[thread overview]
Message-ID: <20200511152915.GC28888@kernel.org> (raw)
In-Reply-To: <CAP-5=fV4-m-x6hNLvVGcBHHrL_Z67+4tM=ruxbZJpjn5V6Eqtg@mail.gmail.com>

Em Sat, May 09, 2020 at 11:26:56PM -0700, Ian Rogers escreveu:
> On Fri, May 8, 2020 at 12:05 AM kajoljain <kjain@linux.ibm.com> wrote:
> > On 5/7/20 9:58 PM, Paul A. Clarke wrote:
> > > From: "Paul A. Clarke" <pc@us.ibm.com>
> > >
> > > Add the following metrics to the POWER9 'cpi_breakdown' metricgroup:
> > > - ict_noslot_br_mpred_cpi
> > > - ict_noslot_br_mpred_icmiss_cpi
> > > - ict_noslot_cyc_other_cpi
> > > - ict_noslot_disp_held_cpi
> > > - ict_noslot_disp_held_hb_full_cpi
> > > - ict_noslot_disp_held_issq_cpi
> > > - ict_noslot_disp_held_other_cpi
> > > - ict_noslot_disp_held_sync_cpi
> > > - ict_noslot_disp_held_tbegin_cpi
> > > - ict_noslot_ic_l2_cpi
> > > - ict_noslot_ic_l3_cpi
> > > - ict_noslot_ic_l3miss_cpi
> > > - ict_noslot_ic_miss_cpi
> > >
> > > Signed-off-by: Paul A. Clarke <pc@us.ibm.com>
> >
> > Reviewed-by: Kajol Jain <kjain@linux.ibm.com>
> 
> Tested with:
> https://lore.kernel.org/lkml/20200508053629.210324-3-irogers@google.com/
> Tested-by: Ian Rogers <irogers@google.com>

Thanks, looking up that series now,

- Arnaldo
 
> Thanks,
> Ian
> 
> > Thanks,
> > Kajol Jain
> > > ---
> > >  .../arch/powerpc/power9/metrics.json          | 143 ++++++++++--------
> > >  1 file changed, 78 insertions(+), 65 deletions(-)
> > >
> > > diff --git a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> > > index 811c2a8c1c9e..6169351a72c8 100644
> > > --- a/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> > > +++ b/tools/perf/pmu-events/arch/powerpc/power9/metrics.json
> > > @@ -207,6 +207,84 @@
> > >          "MetricGroup": "cpi_breakdown",
> > >          "MetricName": "fxu_stall_cpi"
> > >      },
> > > +    {
> > > +        "BriefDescription": "Ict empty for this thread due to branch mispred",
> > > +        "MetricExpr": "PM_ICT_NOSLOT_BR_MPRED/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_br_mpred_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "Ict empty for this thread due to Icache Miss and branch mispred",
> > > +        "MetricExpr": "PM_ICT_NOSLOT_BR_MPRED_ICMISS/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_br_mpred_icmiss_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "ICT 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",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_cyc_other_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "Cycles in which the NTC instruciton is held at dispatch for any reason",
> > > +        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_disp_held_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "Ict empty for this thread due to dispatch holds because the History Buffer was full. Could be GPR/VSR/VMR/FPR/CR/XVF",
> > > +        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_HB_FULL/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_disp_held_hb_full_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "Ict empty for this thread due to dispatch hold on this thread due to Issue q full, BRQ full, XVCF Full, Count cache, Link, Tar full",
> > > +        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_ISSQ/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_disp_held_issq_cpi"
> > > +    },
> > > +    {
> > > +        "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",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_disp_held_other_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "Dispatch held due to a synchronizing instruction at dispatch",
> > > +        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_SYNC/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_disp_held_sync_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "the NTC instruction is being held at dispatch because it is a tbegin instruction and there is an older tbegin in the pipeline that must complete before the younger tbegin can dispatch",
> > > +        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_TBEGIN/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_disp_held_tbegin_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "ICT_NOSLOT_IC_L2_CPI",
> > > +        "MetricExpr": "(PM_ICT_NOSLOT_IC_MISS - PM_ICT_NOSLOT_IC_L3 - PM_ICT_NOSLOT_IC_L3MISS)/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_ic_l2_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "Ict empty for this thread due to icache misses that were sourced from the local L3",
> > > +        "MetricExpr": "PM_ICT_NOSLOT_IC_L3/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_ic_l3_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "Ict empty for this thread due to icache misses that were sourced from beyond the local L3. The source could be local/remote/distant memory or another core's cache",
> > > +        "MetricExpr": "PM_ICT_NOSLOT_IC_L3MISS/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_ic_l3miss_cpi"
> > > +    },
> > > +    {
> > > +        "BriefDescription": "Ict empty for this thread due to Icache Miss",
> > > +        "MetricExpr": "PM_ICT_NOSLOT_IC_MISS/PM_RUN_INST_CMPL",
> > > +        "MetricGroup": "cpi_breakdown",
> > > +        "MetricName": "ict_noslot_ic_miss_cpi"
> > > +    },
> > >      {
> > >          "MetricExpr": "(PM_NTC_ISSUE_HELD_DARQ_FULL + PM_NTC_ISSUE_HELD_ARB + PM_NTC_ISSUE_HELD_OTHER)/PM_RUN_INST_CMPL",
> > >          "MetricGroup": "cpi_breakdown",
> > > @@ -1819,71 +1897,6 @@
> > >          "MetricExpr": "PM_FXU_IDLE / PM_CYC",
> > >          "MetricName": "fxu_all_idle"
> > >      },
> > > -    {
> > > -        "BriefDescription": "Ict empty for this thread due to branch mispred",
> > > -        "MetricExpr": "PM_ICT_NOSLOT_BR_MPRED/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_br_mpred_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "Ict empty for this thread due to Icache Miss and branch mispred",
> > > -        "MetricExpr": "PM_ICT_NOSLOT_BR_MPRED_ICMISS/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_br_mpred_icmiss_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "ICT 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",
> > > -        "MetricName": "ict_noslot_cyc_other_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "Cycles in which the NTC instruciton is held at dispatch for any reason",
> > > -        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_disp_held_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "Ict empty for this thread due to dispatch holds because the History Buffer was full. Could be GPR/VSR/VMR/FPR/CR/XVF",
> > > -        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_HB_FULL/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_disp_held_hb_full_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "Ict empty for this thread due to dispatch hold on this thread due to Issue q full, BRQ full, XVCF Full, Count cache, Link, Tar full",
> > > -        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_ISSQ/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_disp_held_issq_cpi"
> > > -    },
> > > -    {
> > > -        "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",
> > > -        "MetricName": "ict_noslot_disp_held_other_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "Dispatch held due to a synchronizing instruction at dispatch",
> > > -        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_SYNC/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_disp_held_sync_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "the NTC instruction is being held at dispatch because it is a tbegin instruction and there is an older tbegin in the pipeline that must complete before the younger tbegin can dispatch",
> > > -        "MetricExpr": "PM_ICT_NOSLOT_DISP_HELD_TBEGIN/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_disp_held_tbegin_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "ICT_NOSLOT_IC_L2_CPI",
> > > -        "MetricExpr": "(PM_ICT_NOSLOT_IC_MISS - PM_ICT_NOSLOT_IC_L3 - PM_ICT_NOSLOT_IC_L3MISS)/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_ic_l2_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "Ict empty for this thread due to icache misses that were sourced from the local L3",
> > > -        "MetricExpr": "PM_ICT_NOSLOT_IC_L3/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_ic_l3_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "Ict empty for this thread due to icache misses that were sourced from beyond the local L3. The source could be local/remote/distant memory or another core's cache",
> > > -        "MetricExpr": "PM_ICT_NOSLOT_IC_L3MISS/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_ic_l3miss_cpi"
> > > -    },
> > > -    {
> > > -        "BriefDescription": "Ict empty for this thread due to Icache Miss",
> > > -        "MetricExpr": "PM_ICT_NOSLOT_IC_MISS/PM_RUN_INST_CMPL",
> > > -        "MetricName": "ict_noslot_ic_miss_cpi"
> > > -    },
> > >      {
> > >          "BriefDescription": "Rate of IERAT reloads from L2",
> > >          "MetricExpr": "PM_IPTEG_FROM_L2 * 100 / PM_RUN_INST_CMPL",
> > >

-- 

- Arnaldo

  reply	other threads:[~2020-05-11 15:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-07 16:28 [PATCH 0/2] perf: Fix POWER9 cpi_breakdown metricgroup Paul A. Clarke
2020-05-07 16:28 ` [PATCH 1/2] perf: Fix POWER9 metric 'lsu_other_stall_cpi' Paul A. Clarke
2020-05-07 16:48   ` Arnaldo Carvalho de Melo
2020-05-07 17:21     ` Ian Rogers
2020-05-08  6:31   ` kajoljain
2020-05-08  7:01     ` kajoljain
2020-05-07 16:28 ` [PATCH 2/2] perf: Add missing metrics to POWER9 'cpi_breakdown' Paul A. Clarke
2020-05-07 16:57   ` Arnaldo Carvalho de Melo
2020-05-08  7:04   ` kajoljain
2020-05-10  6:26     ` Ian Rogers
2020-05-11 15:29       ` Arnaldo Carvalho de Melo [this message]
2020-05-13  8:28   ` Michael Ellerman
2020-05-14 21:04     ` Paul A. Clarke
2020-05-16 12:03       ` Michael Ellerman

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=20200511152915.GC28888@kernel.org \
    --to=arnaldo.melo@gmail.com \
    --cc=ananth@linux.vnet.ibm.com \
    --cc=irogers@google.com \
    --cc=kjain@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=maddy@linux.vnet.ibm.com \
    --cc=mpe@ellerman.id.au \
    --cc=naveen.n.rao@linux.vnet.ibm.com \
    --cc=pc@us.ibm.com \
    --cc=sukadev@linux.ibm.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).