All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>
To: Kan Liang <kan.liang@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>, Ingo Molnar <mingo@kernel.org>,
	linux-kernel@vger.kernel.org, Andi Kleen <ak@linux.intel.com>,
	linux-perf-users@vger.kernel.org
Subject: Re: [PATCH] perf vendor events intel: Add uncore_upi JSON support
Date: Tue, 14 May 2019 09:59:56 -0300	[thread overview]
Message-ID: <20190514125956.GG3198@kernel.org> (raw)
In-Reply-To: <9e816fed-5d00-c490-21b3-ad9c56dac446@linux.intel.com>

Em Mon, May 13, 2019 at 05:29:30PM -0400, Liang, Kan escreveu:
> Hi Arnaldo,
> 
> Could you please apply this fix?

Sure, please next time specify which arch this should be tested on, as I
tried it here on a skylake notebook (lenovo t480s) before your patch and
got:

[root@quaco ~]# perf stat -e UPI_DATA_BANDWIDTH_TX
event syntax error: 'UPI_DATA_BANDWIDTH_TX'
                     \___ parser error
Run 'perf list' for a list of valid events

 Usage: perf stat [<options>] [<command>]

    -e, --event <event>   event selector. use 'perf list' to list available events
[root@quaco ~]#

Then, looking at 'perf list' /UPI I got just these:

Pipeline:
<SNIP>
  UPI
       [Uops Per Instruction]

Which already probably told me a bit about what this is about, its under
the "METRIC groups" header

After your patch applied I get:

[root@quaco ~]# perf stat -e UPI_DATA_BANDWIDTH_TX
event syntax error: 'UPI_DATA_BANDWIDTH_TX'
                     \___ parser error
Run 'perf list' for a list of valid events

 Usage: perf stat [<options>] [<command>]

    -e, --event <event>   event selector. use 'perf list' to list available events
[root@quaco ~]# 

I.e. nothing seem to have changed, but then, to further look at this I
tried:

# strings ~/bin/perf | grep -i upi
<SNIP>
Data Response packets that go direct to Intel UPI. Unit: uncore_upi 
Counts Data Response (DRS) packets that attempted to go direct to Intel Ultra Path Interconnect (UPI) bypassing the CHA 
Cycles Intel UPI is in L1 power mode (shutdown). Unit: uncore_upi 
Counts cycles when the Intel Ultra Path Interconnect (UPI) is in L1 power mode.  L1 is a mode that totally shuts down the UPI link.  Link power states are per link and per direction, so for example the Tx direction could be in one state while Rx was in another, this event only coutns when both links are shutdown
Cycles the Rx of the Intel UPI is in L0p power mode. Unit: uncore_upi 
Counts cycles when the the receive side (Rx) of the Intel Ultra Path Interconnect(UPI) is in L0p power mode. L0p is a mode where we disable 60% of the UPI lanes, decreasing our bandwidth in order to save power
FLITs received which bypassed the Slot0 Receive Buffer. Unit: uncore_upi 
Valid data FLITs received from any slot. Unit: uncore_upi 
<SNIP>

So this "UPI" TLA, here, should not mean "UOPS per instruction", but
Intel's "Ultra Path Interconnect", right? Lemme update the changelog...

/me googles... https://en.wikipedia.org/wiki/Intel_Ultra_Path_Interconnect

So I'd need a Skylake-SP test machine to test this...

Please add such notes in the future, helps reviewing and testing this.

At some point I'd like to have 'perf test' test such stuff with a
Requires_cpuid/arch, etc.

- Arnaldo
 
> Thanks,
> Kan
> 
> On 5/7/2019 9:16 AM, kan.liang@linux.intel.com wrote:
> > From: Kan Liang <kan.liang@linux.intel.com>
> > 
> > Perf cannot parse UPI events.
> > 
> >      #perf stat -e UPI_DATA_BANDWIDTH_TX
> >      event syntax error: 'UPI_DATA_BANDWIDTH_TX'
> >                       \___ parser error
> >      Run 'perf list' for a list of valid events
> > 
> > The JSON lists call the box UPI LL, while perf calls it upi.
> > Add conversion support to json to convert the unit properly.
> > 
> > Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
> > ---
> >   tools/perf/pmu-events/jevents.c | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
> > index 68c92bb..daaea50 100644
> > --- a/tools/perf/pmu-events/jevents.c
> > +++ b/tools/perf/pmu-events/jevents.c
> > @@ -235,6 +235,7 @@ static struct map {
> >   	{ "iMPH-U", "uncore_arb" },
> >   	{ "CPU-M-CF", "cpum_cf" },
> >   	{ "CPU-M-SF", "cpum_sf" },
> > +	{ "UPI LL", "uncore_upi" },
> >   	{}
> >   };
> > 

-- 

- Arnaldo

  parent reply	other threads:[~2019-05-14 13:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-07 13:16 [PATCH] perf vendor events intel: Add uncore_upi JSON support kan.liang
2019-05-13 21:29 ` Liang, Kan
2019-05-13 22:05   ` Arnaldo Carvalho de Melo
2019-05-14 12:59   ` Arnaldo Carvalho de Melo [this message]
2019-05-14 14:42     ` Liang, Kan
2019-05-18  8:58 ` [tip:perf/core] " tip-bot for Kan Liang

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=20190514125956.GG3198@kernel.org \
    --to=arnaldo.melo@gmail.com \
    --cc=ak@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.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.