linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@kernel.org>
To: "Wang, Weilin" <weilin.wang@intel.com>
Cc: Ian Rogers <irogers@google.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	 Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	 Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>,
	 "Hunter, Adrian" <adrian.hunter@intel.com>,
	Kan Liang <kan.liang@linux.intel.com>,
	 "linux-perf-users@vger.kernel.org"
	<linux-perf-users@vger.kernel.org>,
	 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Taylor, Perry" <perry.taylor@intel.com>,
	 "Alt, Samantha" <samantha.alt@intel.com>,
	"Biggers, Caleb" <caleb.biggers@intel.com>
Subject: Re: [RFC PATCH v8 1/7] perf Document: Add TPEBS to Documents
Date: Fri, 17 May 2024 14:28:09 -0700	[thread overview]
Message-ID: <CAM9d7cj5kc3RVpn9uffojkHuBb6Ui4HeRWB9WC6CKPSJhJtf0A@mail.gmail.com> (raw)
In-Reply-To: <CO6PR11MB5635F7C3C6928C2F3E5D732FEEED2@CO6PR11MB5635.namprd11.prod.outlook.com>

Hello,

On Thu, May 16, 2024 at 10:37 AM Wang, Weilin <weilin.wang@intel.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Ian Rogers <irogers@google.com>
> > Sent: Thursday, May 16, 2024 9:11 AM
> > To: Wang, Weilin <weilin.wang@intel.com>
> > Cc: Namhyung Kim <namhyung@kernel.org>; Arnaldo Carvalho de Melo
> > <acme@kernel.org>; Peter Zijlstra <peterz@infradead.org>; Ingo Molnar
> > <mingo@redhat.com>; Alexander Shishkin
> > <alexander.shishkin@linux.intel.com>; Jiri Olsa <jolsa@kernel.org>; Hunter,
> > Adrian <adrian.hunter@intel.com>; Kan Liang <kan.liang@linux.intel.com>;
> > linux-perf-users@vger.kernel.org; linux-kernel@vger.kernel.org; Taylor, Perry
> > <perry.taylor@intel.com>; Alt, Samantha <samantha.alt@intel.com>; Biggers,
> > Caleb <caleb.biggers@intel.com>
> > Subject: Re: [RFC PATCH v8 1/7] perf Document: Add TPEBS to Documents
> >
> > On Tue, May 14, 2024 at 10:44 PM <weilin.wang@intel.com> wrote:
> > >
> > > From: Weilin Wang <weilin.wang@intel.com>
> > >
> > > TPEBS is a new feature in next generation of Intel PMU. It will be used in new
> > > TMA releases. Adding related introduction to documents while adding new
> > code to
> > > support it in perf stat.
> > >
> > > Signed-off-by: Weilin Wang <weilin.wang@intel.com>
> > > ---
> > >  tools/perf/Documentation/perf-list.txt |  1 +
> > >  tools/perf/Documentation/topdown.txt   | 18 ++++++++++++++++++
> > >  2 files changed, 19 insertions(+)
> > >
> > > diff --git a/tools/perf/Documentation/perf-list.txt
> > b/tools/perf/Documentation/perf-list.txt
> > > index 6bf2468f59d3..dea005410ec0 100644
> > > --- a/tools/perf/Documentation/perf-list.txt
> > > +++ b/tools/perf/Documentation/perf-list.txt
> > > @@ -72,6 +72,7 @@ counted. The following modifiers exist:
> > >   W - group is weak and will fallback to non-group if not schedulable,
> > >   e - group or event are exclusive and do not share the PMU
> > >   b - use BPF aggregration (see perf stat --bpf-counters)
> > > + R - retire latency value of the event
> > >
> > >  The 'p' modifier can be used for specifying how precise the instruction
> > >  address should be. The 'p' modifier can be specified multiple times:
> > > diff --git a/tools/perf/Documentation/topdown.txt
> > b/tools/perf/Documentation/topdown.txt
> > > index ae0aee86844f..e6c4424e8bf2 100644
> > > --- a/tools/perf/Documentation/topdown.txt
> > > +++ b/tools/perf/Documentation/topdown.txt
> > > @@ -325,6 +325,24 @@ other four level 2 metrics by subtracting
> > corresponding metrics as below.
> > >      Fetch_Bandwidth = Frontend_Bound - Fetch_Latency
> > >      Core_Bound = Backend_Bound - Memory_Bound
> > >
> > > +TPEBS in TopDown
> > > +================
> > > +
> > > +TPEBS is one of the features provided by the next generation of Intel PMU.
> > The
> >
> > As this documentation will live a while "next generation" could become
> > ambiguous. I think it would be better to mention core ultra or some
> > other term to more specifically describe which PMUs have TPEBS.
>
> Hi Ian,
>
> Yes, you are right, I will update it.

Also I'd be nice if you can tell what 'T' means in TPEBS. :)

> >
> > > +TPEBS feature adds a 16 bit retire latency field in the Basic Info group of the
> > > +PEBS record. It records the Core cycles since the retirement of the previous
> > > +instruction to the retirement of current instruction. Please refer to Section
> > > +8.4.1 of "Intel® Architecture Instruction Set Extensions Programming
> > Reference"
> > > +for more details about this feature.
> >
> > Perhaps capture that this is placed in the perf event sample in the
> > weights section as TPEBS isn't exposed except within the kernel PMU
> > driver.
> >
> > > +
> > > +In the most recent release of TMA, the metrics begin to use event
> > retire_latency
> > > +values in some of the metrics’ formulas on processors that support TPEBS
> > feature.
> > > +For previous generations that do not support TPEBS, the values are static
> > and
> > > +predefined per processor family by the hardware architects. Due to the
> > diversity
> > > +of workloads in execution environments, retire latency values measured at
> > real
> > > +time are more accurate. Therefore, new TMA metrics that use TPEBS will
> > provide
> > > +more accurate performance analysis results.
> >
> > Do you want to capture what the value will be when there hasn't been a
> > sample? This corner case could be considered broken in the new
> > approach.
>
>
> When there is no sample, we should expect it to be 0 or use default value. I will
> add this information here. I don’t think this is broken from the approach's perspective.
> We do need to add code to return this value when there is no sample.

More importantly, I think the documentation should say that the
retire_latency is in PEBS which means it needs samples in the
precise events.  So it would run perf record in the background
for events with retire_latency even if users just want to see the
value of counters or metric in perf stat.

Thanks,
Namhyung

  reply	other threads:[~2024-05-17 21:28 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-15  5:44 [RFC PATCH v8 0/7] TPEBS counting mode support weilin.wang
2024-05-15  5:44 ` [RFC PATCH v8 1/7] perf Document: Add TPEBS to Documents weilin.wang
2024-05-16 16:10   ` Ian Rogers
2024-05-16 17:37     ` Wang, Weilin
2024-05-17 21:28       ` Namhyung Kim [this message]
2024-05-15  5:44 ` [RFC PATCH v8 2/7] perf data: Allow to use given fd in data->file.fd weilin.wang
2024-05-16 16:11   ` Ian Rogers
2024-05-15  5:44 ` [RFC PATCH v8 3/7] perf stat: Fork and launch perf record when perf stat needs to get retire latency value for a metric weilin.wang
2024-05-16 16:43   ` Ian Rogers
2024-05-16 17:38     ` Wang, Weilin
2024-05-16 18:07       ` Ian Rogers
2024-05-16 18:16         ` Wang, Weilin
2024-05-17 21:43   ` Namhyung Kim
2024-05-17 21:57     ` Wang, Weilin
2024-05-21  0:10     ` Wang, Weilin
2024-05-21  5:42       ` Namhyung Kim
2024-05-21 16:23         ` Wang, Weilin
2024-05-15  5:44 ` [RFC PATCH v8 4/7] perf stat: Add retire latency values into the expr_parse_ctx to prepare for final metric calculation weilin.wang
2024-05-16 16:44   ` Ian Rogers
2024-05-15  5:44 ` [RFC PATCH v8 5/7] perf stat: Add retire latency print functions to print out at the very end of print out weilin.wang
2024-05-16 16:47   ` Ian Rogers
2024-05-16 17:51     ` Wang, Weilin
2024-05-16 18:08       ` Ian Rogers
2024-05-15  5:44 ` [RFC PATCH v8 6/7] perf vendor events intel: Add MTL metric json files weilin.wang
2024-05-16 16:57   ` Ian Rogers
2024-05-16 17:44     ` Wang, Weilin
2024-05-15  5:44 ` [RFC PATCH v8 7/7] perf stat: Skip read retire_lat counters and plugin retire_lat data from sampled data weilin.wang

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=CAM9d7cj5kc3RVpn9uffojkHuBb6Ui4HeRWB9WC6CKPSJhJtf0A@mail.gmail.com \
    --to=namhyung@kernel.org \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=caleb.biggers@intel.com \
    --cc=irogers@google.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=perry.taylor@intel.com \
    --cc=peterz@infradead.org \
    --cc=samantha.alt@intel.com \
    --cc=weilin.wang@intel.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).