[PATCH v5 10/23] perf session: Add an env pointer for the current perf_env

From: Ian Rogers
Date: Sat Jun 28 2025 - 00:52:36 EST


Initialize to `&header.env`. This will later allow the env value to be
changed.

Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
tools/perf/util/session.c | 3 ++-
tools/perf/util/session.h | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index b09d157f7d04..e39a1df7c044 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -156,6 +156,7 @@ struct perf_session *__perf_session__new(struct perf_data *data,
ordered_events__deliver_event, NULL);

perf_env__init(&session->header.env);
+ session->env = &session->header.env;
if (data) {
ret = perf_data__open(data);
if (ret < 0)
@@ -2750,5 +2751,5 @@ int perf_session__dsos_hit_all(struct perf_session *session)

struct perf_env *perf_session__env(struct perf_session *session)
{
- return &session->header.env;
+ return session->env;
}
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h
index e7f7464b838f..088868f1004a 100644
--- a/tools/perf/util/session.h
+++ b/tools/perf/util/session.h
@@ -45,6 +45,8 @@ struct perf_session {
struct perf_header header;
/** @machines: Machines within the session a host and 0 or more guests. */
struct machines machines;
+ /** @env: The perf_env being worked with, either from a data file or the host's. */
+ struct perf_env *env;
/** @evlist: List of evsels/events of the session. */
struct evlist *evlist;
/** @auxtrace: callbacks to allow AUX area data decoding. */
--
2.50.0.727.gbf7dc18ff4-goog