Commit c3e5b9ec authored by Ian Rogers's avatar Ian Rogers Committed by Namhyung Kim
Browse files

perf session: Add accessor for session->header.env



The perf_env from the header in the session is frequently accessed,
add an accessor function rather than access directly. Cache the value
to avoid repeated calls. No behavioral change.

Signed-off-by: default avatarIan Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20250724163302.596743-10-irogers@google.com


Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
parent 53b00ff3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -562,7 +562,7 @@ static int __cmd_annotate(struct perf_annotate *ann)
	}

	if (!annotate_opts.objdump_path) {
		ret = perf_env__lookup_objdump(&session->header.env,
		ret = perf_env__lookup_objdump(perf_session__env(session),
					       &annotate_opts.objdump_path);
		if (ret)
			goto out;
@@ -896,7 +896,7 @@ int cmd_annotate(int argc, const char **argv)

	symbol_conf.try_vmlinux_path = true;

	ret = symbol__init(&annotate.session->header.env);
	ret = symbol__init(perf_session__env(annotate.session));
	if (ret < 0)
		goto out_delete;

+1 −1
Original line number Diff line number Diff line
@@ -453,7 +453,7 @@ int cmd_buildid_cache(int argc, const char **argv)
			return PTR_ERR(session);
	}

	if (symbol__init(session ? &session->header.env : NULL) < 0)
	if (symbol__init(session ? perf_session__env(session) : NULL) < 0)
		goto out;

	setup_pager();
+9 −7
Original line number Diff line number Diff line
@@ -2267,14 +2267,15 @@ static int setup_nodes(struct perf_session *session)
	int node, idx;
	struct perf_cpu cpu;
	int *cpu2node;
	struct perf_env *env = perf_session__env(session);

	if (c2c.node_info > 2)
		c2c.node_info = 2;

	c2c.nodes_cnt = session->header.env.nr_numa_nodes;
	c2c.cpus_cnt  = session->header.env.nr_cpus_avail;
	c2c.nodes_cnt = env->nr_numa_nodes;
	c2c.cpus_cnt  = env->nr_cpus_avail;

	n = session->header.env.numa_nodes;
	n = env->numa_nodes;
	if (!n)
		return -EINVAL;

@@ -3030,6 +3031,7 @@ static int perf_c2c__report(int argc, const char **argv)
	};
	int err = 0;
	const char *output_str, *sort_str = NULL;
	struct perf_env *env;

	argc = parse_options(argc, argv, options, report_c2c_usage,
			     PARSE_OPT_STOP_AT_NON_OPTION);
@@ -3072,14 +3074,14 @@ static int perf_c2c__report(int argc, const char **argv)
		pr_debug("Error creating perf session\n");
		goto out;
	}

	env = perf_session__env(session);
	/*
	 * Use the 'tot' as default display type if user doesn't specify it;
	 * since Arm64 platform doesn't support HITMs flag, use 'peer' as the
	 * default display type.
	 */
	if (!display) {
		if (!strcmp(perf_env__arch(&session->header.env), "arm64"))
		if (!strcmp(perf_env__arch(env), "arm64"))
			display = "peer";
		else
			display = "tot";
@@ -3109,7 +3111,7 @@ static int perf_c2c__report(int argc, const char **argv)
		goto out_session;
	}

	err = mem2node__init(&c2c.mem2node, &session->header.env);
	err = mem2node__init(&c2c.mem2node, env);
	if (err)
		goto out_session;

@@ -3117,7 +3119,7 @@ static int perf_c2c__report(int argc, const char **argv)
	if (err)
		goto out_mem2node;

	if (symbol__init(&session->header.env) < 0)
	if (symbol__init(env) < 0)
		goto out_mem2node;

	/* No pipe support at the moment. */
+1 −1
Original line number Diff line number Diff line
@@ -2608,7 +2608,7 @@ int cmd_inject(int argc, const char **argv)
		inject.tool.finished_round = perf_event__drop_oe;
	}
#endif
	ret = symbol__init(&inject.session->header.env);
	ret = symbol__init(perf_session__env(inject.session));
	if (ret < 0)
		goto out_delete;

+1 −1
Original line number Diff line number Diff line
@@ -2024,7 +2024,7 @@ int cmd_kmem(int argc, const char **argv)
		symbol_conf.use_callchain = true;
	}

	symbol__init(&session->header.env);
	symbol__init(perf_session__env(session));

	if (perf_time__parse_str(&ptime, time_str) != 0) {
		pr_err("Invalid time string\n");
Loading