From: Namhyung Kim <namhyung@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
Weilin Wang <weilin.wang@intel.com>,
James Clark <james.clark@linaro.org>, Xu Yang <xu.yang_2@nxp.com>,
John Garry <john.g.garry@oracle.com>,
Howard Chu <howardchu95@gmail.com>,
Levi Yun <yeoreum.yun@arm.com>,
Dominique Martinet <asmadeus@codewreck.org>,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 00/16] Intel TPEBS min/max/mean/last support
Date: Fri, 11 Apr 2025 16:09:05 -0700 [thread overview]
Message-ID: <Z_mhEc5GAWM5cUTh@z2> (raw)
In-Reply-To: <20250409061043.700792-1-irogers@google.com>
On Tue, Apr 08, 2025 at 11:10:27PM -0700, Ian Rogers wrote:
> The patches add support to computing the min, max, mean or last
> retirement latency and then using that value as the basis for metrics.
> When values aren't available, support is added to use the retirement
> latency as recorded for an event in the perf json.
>
> Support is added for reading the retirement latency from the forked
> perf command more than once. To avoid killing the process commands are
> sent through the control fd. Some name handling is changed to make it
> more robust.
>
> Rather than retirement latency events having issues with perf record,
> make it so that the retirement latency modifier enables sample
> weights.
>
> v4: Don't use json min/max in retirement latency stats as they will
> never update afterwards. Warn once if json data is used when TPEBS
> recording was requested.
>
> v3: Two fixes from Kan Liang. Ensure min/max statistics don't vary
> when real samples are encountered.
>
> v2: Addition of header cleanup patch originally posted:
> https://lore.kernel.org/lkml/20241210191823.612631-1-irogers@google.com/
> as there are no arch specific reasons not to build this code.
> Fix bug in "perf pmu-events: Add retirement latency to JSON events
> inside of perf" where "t->stats.n != 0" should have been
> "t->stats.n == 0".
> Add patch so that perf record of a retirement latency event
> doesn't crash but instead enables sample weights for the event.
>
> Ian Rogers (16):
> perf intel-tpebs: Cleanup header
> perf intel-tpebs: Simplify tpebs_cmd
> perf intel-tpebs: Rename tpebs_start to evsel__tpebs_open
> perf intel-tpebs: Separate evsel__tpebs_prepare out of
> evsel__tpebs_open
> perf intel-tpebs: Move cpumap_buf out of evsel__tpebs_open
> perf intel-tpebs: Reduce scope of tpebs_events_size
> perf intel-tpebs: Inline get_perf_record_args
> perf intel-tpebs: Ensure events are opened, factor out finding
> perf intel-tpebs: Refactor tpebs_results list
> perf intel-tpebs: Add support for updating counts in evsel__tpebs_read
> perf intel-tpebs: Add mutex for tpebs_results
> perf intel-tpebs: Don't close record on read
> perf intel-tpebs: Use stats for retirement latency statistics
> perf stat: Add mean, min, max and last --tpebs-mode options
> perf pmu-events: Add retirement latency to JSON events inside of perf
> perf record: Retirement latency cleanup in evsel__config
I have a nitpick but otherwise looks good to me.
Acked-by: Namhyung Kim <namhyung@kernel.org>
Thanks,
Namhyung
>
> tools/perf/Documentation/perf-stat.txt | 7 +
> tools/perf/builtin-stat.c | 29 +-
> tools/perf/pmu-events/empty-pmu-events.c | 216 +++----
> tools/perf/pmu-events/jevents.py | 6 +
> tools/perf/pmu-events/pmu-events.h | 3 +
> tools/perf/util/Build | 2 +-
> tools/perf/util/evlist.c | 1 -
> tools/perf/util/evsel.c | 22 +-
> tools/perf/util/evsel.h | 6 +
> tools/perf/util/intel-tpebs.c | 682 ++++++++++++++---------
> tools/perf/util/intel-tpebs.h | 40 +-
> tools/perf/util/parse-events.c | 4 +
> tools/perf/util/pmu.c | 52 +-
> tools/perf/util/pmu.h | 3 +
> 14 files changed, 666 insertions(+), 407 deletions(-)
>
> --
> 2.49.0.504.g3bcea36a83-goog
>
next prev parent reply other threads:[~2025-04-11 23:09 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-09 6:10 [PATCH v4 00/16] Intel TPEBS min/max/mean/last support Ian Rogers
2025-04-09 6:10 ` [PATCH v4 01/16] perf intel-tpebs: Cleanup header Ian Rogers
2025-04-09 6:10 ` [PATCH v4 02/16] perf intel-tpebs: Simplify tpebs_cmd Ian Rogers
2025-04-09 6:10 ` [PATCH v4 03/16] perf intel-tpebs: Rename tpebs_start to evsel__tpebs_open Ian Rogers
2025-04-09 6:10 ` [PATCH v4 04/16] perf intel-tpebs: Separate evsel__tpebs_prepare out of evsel__tpebs_open Ian Rogers
2025-04-09 6:10 ` [PATCH v4 05/16] perf intel-tpebs: Move cpumap_buf " Ian Rogers
2025-04-09 6:10 ` [PATCH v4 06/16] perf intel-tpebs: Reduce scope of tpebs_events_size Ian Rogers
2025-04-09 6:10 ` [PATCH v4 07/16] perf intel-tpebs: Inline get_perf_record_args Ian Rogers
2025-04-09 6:10 ` [PATCH v4 08/16] perf intel-tpebs: Ensure events are opened, factor out finding Ian Rogers
2025-04-09 6:10 ` [PATCH v4 09/16] perf intel-tpebs: Refactor tpebs_results list Ian Rogers
2025-04-09 6:10 ` [PATCH v4 10/16] perf intel-tpebs: Add support for updating counts in evsel__tpebs_read Ian Rogers
2025-04-09 6:10 ` [PATCH v4 11/16] perf intel-tpebs: Add mutex for tpebs_results Ian Rogers
2025-04-11 22:54 ` Namhyung Kim
2025-04-14 17:00 ` Ian Rogers
2025-04-09 6:10 ` [PATCH v4 12/16] perf intel-tpebs: Don't close record on read Ian Rogers
2025-04-09 6:10 ` [PATCH v4 13/16] perf intel-tpebs: Use stats for retirement latency statistics Ian Rogers
2025-04-09 6:10 ` [PATCH v4 14/16] perf stat: Add mean, min, max and last --tpebs-mode options Ian Rogers
2025-04-09 6:10 ` [PATCH v4 15/16] perf pmu-events: Add retirement latency to JSON events inside of perf Ian Rogers
2025-04-09 6:10 ` [PATCH v4 16/16] perf record: Retirement latency cleanup in evsel__config Ian Rogers
2025-04-10 3:12 ` Wang, Weilin
2025-04-11 23:09 ` Namhyung Kim [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-04-09 6:07 [PATCH v4 00/16] Intel TPEBS min/max/mean/last support Ian Rogers
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=Z_mhEc5GAWM5cUTh@z2 \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=asmadeus@codewreck.org \
--cc=howardchu95@gmail.com \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=john.g.garry@oracle.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=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=weilin.wang@intel.com \
--cc=xu.yang_2@nxp.com \
--cc=yeoreum.yun@arm.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).