Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 578e91ec authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

perf evlist: Propagate thread maps through the evlist



Propagate evlist's thread_map object through all the evsel objects.

It'll be handy to access evsel's threads directly in following patches.
The reason is there's no link from evsel to evlist which hold threads
map now and evlist is not always available.

Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1435012588-9007-7-git-send-email-jolsa@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent b7f0c203
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1117,7 +1117,9 @@ static int perf_evlist__propagate_maps(struct perf_evlist *evlist,
		if (!evsel->cpus || target->cpu_list)
			evsel->cpus = cpu_map__get(evlist->cpus);

		if (!evsel->cpus)
		evsel->threads = thread_map__get(evlist->threads);

		if (!evsel->cpus || !evsel->threads)
			return -ENOMEM;
	}

+1 −0
Original line number Diff line number Diff line
@@ -886,6 +886,7 @@ void perf_evsel__exit(struct perf_evsel *evsel)
	perf_evsel__free_id(evsel);
	close_cgroup(evsel->cgrp);
	cpu_map__put(evsel->cpus);
	thread_map__put(evsel->threads);
	zfree(&evsel->group_name);
	zfree(&evsel->name);
	perf_evsel__object.fini(evsel);
+1 −0
Original line number Diff line number Diff line
@@ -82,6 +82,7 @@ struct perf_evsel {
	struct cgroup_sel	*cgrp;
	void			*handler;
	struct cpu_map		*cpus;
	struct thread_map	*threads;
	unsigned int		sample_size;
	int			id_pos;
	int			is_pos;