From: weilin.wang@intel.com
To: weilin.wang@intel.com, Ian Rogers <irogers@google.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>
Cc: linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org,
Perry Taylor <perry.taylor@intel.com>,
Samantha Alt <samantha.alt@intel.com>,
Caleb Biggers <caleb.biggers@intel.com>
Subject: [RFC PATCH v1 0/5] TPEBS counting mode support
Date: Wed, 21 Feb 2024 02:20:54 -0500 [thread overview]
Message-ID: <20240221072100.412939-1-weilin.wang@intel.com> (raw)
From: Weilin Wang <weilin.wang@intel.com>
TPEBS is one of the features provided by the next generation of Intel PMU.
Please refer to Section 8.4.1 of "Intel® Architecture Instruction Set Extensions
Programming Reference" [1] for more details about this feature.
This set of patches supports TPEBS in counting mode. The code works in the
following way: it forks a perf record process from perf stat when retire_latency
of one or more events are used in a metric formula. Perf stat would send a
SIGTERM signal to perf record before it needs the retire latency value for
metric calculation. Perf stat will then process sample data to extract the
retire latency data for metric calculations. Currently, the code uses the
arithmetic average of retire latency values.
[1] https://www.intel.com/content/www/us/en/content-details/812218/intel-architecture-instruction-set-extensions-programming-reference.html?wapkw=future%20features
perf stat: Parse and find tpebs events when parsing metrics to prepare
for perf record sampling
perf stat: Fork and launch perf record when perf stat needs to get
retire latency value for a metric.
perf stat: Add retire latency values into the expr_parse_ctx to
prepare for final metric calculation
perf stat: Create another thread for sample data processing
perf stat: Add retire latency print functions to print out at the very
end of print out
tools/perf/builtin-stat.c | 222 ++++++++++++++++++++++++++++++++-
tools/perf/util/data.c | 4 +
tools/perf/util/data.h | 1 +
tools/perf/util/metricgroup.c | 61 +++++++--
tools/perf/util/metricgroup.h | 18 ++-
tools/perf/util/stat-display.c | 65 ++++++++++
tools/perf/util/stat-shadow.c | 18 +++
tools/perf/util/stat.h | 5 +
8 files changed, 376 insertions(+), 18 deletions(-)
--
2.43.0
next reply other threads:[~2024-02-21 7:21 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-21 7:20 weilin.wang [this message]
2024-02-21 7:20 ` [RFC PATCH v1 1/5] perf stat: Parse and find tpebs events when parsing metrics to prepare for perf record sampling weilin.wang
2024-02-21 7:20 ` [RFC PATCH v1 2/5] perf stat: Fork and launch perf record when perf stat needs to get retire latency value for a metric weilin.wang
2024-02-21 17:52 ` Arnaldo Carvalho de Melo
2024-02-21 20:34 ` Ian Rogers
2024-02-23 7:03 ` Namhyung Kim
2024-02-23 7:47 ` Ian Rogers
2024-02-24 2:44 ` Namhyung Kim
2024-02-21 7:20 ` [RFC PATCH v1 3/5] perf stat: Add retire latency values into the expr_parse_ctx to prepare for final metric calculation weilin.wang
2024-02-21 7:20 ` [RFC PATCH v1 4/5] perf stat: Create another thread for sample data processing weilin.wang
2024-02-21 7:20 ` [RFC PATCH v1 5/5] perf stat: Add retire latency print functions to print out at the very end of print out 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=20240221072100.412939-1-weilin.wang@intel.com \
--to=weilin.wang@intel.com \
--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=namhyung@kernel.org \
--cc=perry.taylor@intel.com \
--cc=peterz@infradead.org \
--cc=samantha.alt@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).