From: Thomas Falcon <thomas.falcon@intel.com>
To: linux-perf-users@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
James Clark <james.clark@linaro.org>,
Dapeng Mi <dapeng1.mi@linux.intel.com>
Subject: [PATCH v2 0/6] perf: Add support for memory region/range reporting
Date: Mon, 13 Jul 2026 19:43:53 -0500 [thread overview]
Message-ID: <20260714004359.179451-1-thomas.falcon@intel.com> (raw)
Add support for two memory-related reporting features in the perf tool:
1. Memory region reporting in perf-c2c and perf-script subcommands.
2. Memory range data in perf.data file header and perf-c2c subcommand.
Memory region reporting was introduced as part of support for the
Off-module Response facility (OMR) [1], which provides a new data
source encoding supporting "up to 8 fine-grained memory regions in
addition to the cache region, offering more detailed insights into
memory access regions."
Memory Range support was introduced with the addition of the ACPI Memory
Range and Region Mapping (MRRM) [2] table. It provides a base address plus
a length value for each memory range, as well as NUMA node and local and
remote "region ID's" so that "platform firmware can indicate the type of
memory for each range."[3]
Include a change allowing PERF_MEM_LVLNUM_L0 to be printed in
perf-mem output as well.
[1]: https://lore.kernel.org/all/20260114011750.350569-1-dapeng1.mi@linux.intel.com/
[2]: https://lore.kernel.org/lkml/20250505173819.419271-1-tony.luck@intel.com/
[3]: MRRM definition allow for future expansion for the OS to assign
these region IDs.
Changes in v2:
-- Added missing newline in WARN_ONCE message in c2c_he__set_mem_region()
-- increased buffers passed to perf_script__meminfo_scnprintf() from 150
to 200 bytes to avoid silent truncation
-- Added check for NULL return of sysfs__mountpoint() when parsing
memory ranges in sysfs
-- increased MAX_MEMORY_RANGES sanity check from 64 to 256 based on
ACPI MRRM table implementation in Linux kernel
-- added comment for MAX_MEMORY_RANGES to clarify that it is a sanity check
for malformed perf.data files
-- removed a line of code was removed from util/env.h but was added back in
v1 due to bad rebase
Dapeng Mi (3):
perf mem: Add support for printing PERF_MEM_LVLNUM_L0
perf tools: Show memory region in perf-c2c subcommand
perf tools: Show memory region in perf-script subcommand
Thomas Falcon (3):
perf mem: Fix size tracking for mem_lvl's in
perf_script__meminfo_scnprintf()
perf header: Support memory ranges
perf c2c: print memory region data with stdio output
tools/perf/Documentation/perf-record.txt | 2 +-
.../Documentation/perf.data-file-format.txt | 13 ++
tools/perf/builtin-c2c.c | 86 +++++++-
tools/perf/builtin-inject.c | 1 +
tools/perf/builtin-script.c | 8 +-
tools/perf/util/bpf-filter.l | 1 +
tools/perf/util/env.c | 1 +
tools/perf/util/env.h | 10 +
tools/perf/util/header.c | 195 ++++++++++++++++++
tools/perf/util/header.h | 1 +
tools/perf/util/mem-events.c | 75 ++++++-
tools/perf/util/mem-events.h | 1 +
.../scripting-engines/trace-event-python.c | 4 +-
13 files changed, 388 insertions(+), 10 deletions(-)
--
2.43.0
next reply other threads:[~2026-07-14 0:44 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-14 0:43 Thomas Falcon [this message]
2026-07-14 0:43 ` [PATCH v2 1/6] perf mem: Fix size tracking for mem_lvl's in perf_script__meminfo_scnprintf() Thomas Falcon
2026-07-14 0:51 ` sashiko-bot
2026-07-14 0:43 ` [PATCH v2 2/6] perf mem: Add support for printing PERF_MEM_LVLNUM_L0 Thomas Falcon
2026-07-14 0:43 ` [PATCH v2 3/6] perf tools: Show memory region in perf-c2c subcommand Thomas Falcon
2026-07-14 0:56 ` sashiko-bot
2026-07-14 0:43 ` [PATCH v2 4/6] perf tools: Show memory region in perf-script subcommand Thomas Falcon
2026-07-14 0:59 ` sashiko-bot
2026-07-14 0:43 ` [PATCH v2 5/6] perf header: Support memory ranges Thomas Falcon
2026-07-14 0:43 ` [PATCH v2 6/6] perf c2c: print memory region data with stdio output Thomas Falcon
2026-07-14 0:57 ` sashiko-bot
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=20260714004359.179451-1-thomas.falcon@intel.com \
--to=thomas.falcon@intel.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=dapeng1.mi@linux.intel.com \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox