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

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.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent b7f0c203
...@@ -1117,7 +1117,9 @@ static int perf_evlist__propagate_maps(struct perf_evlist *evlist, ...@@ -1117,7 +1117,9 @@ static int perf_evlist__propagate_maps(struct perf_evlist *evlist,
if (!evsel->cpus || target->cpu_list) if (!evsel->cpus || target->cpu_list)
evsel->cpus = cpu_map__get(evlist->cpus); evsel->cpus = cpu_map__get(evlist->cpus);
if (!evsel->cpus) evsel->threads = thread_map__get(evlist->threads);
if (!evsel->cpus || !evsel->threads)
return -ENOMEM; return -ENOMEM;
} }
......
...@@ -886,6 +886,7 @@ void perf_evsel__exit(struct perf_evsel *evsel) ...@@ -886,6 +886,7 @@ void perf_evsel__exit(struct perf_evsel *evsel)
perf_evsel__free_id(evsel); perf_evsel__free_id(evsel);
close_cgroup(evsel->cgrp); close_cgroup(evsel->cgrp);
cpu_map__put(evsel->cpus); cpu_map__put(evsel->cpus);
thread_map__put(evsel->threads);
zfree(&evsel->group_name); zfree(&evsel->group_name);
zfree(&evsel->name); zfree(&evsel->name);
perf_evsel__object.fini(evsel); perf_evsel__object.fini(evsel);
......
...@@ -82,6 +82,7 @@ struct perf_evsel { ...@@ -82,6 +82,7 @@ struct perf_evsel {
struct cgroup_sel *cgrp; struct cgroup_sel *cgrp;
void *handler; void *handler;
struct cpu_map *cpus; struct cpu_map *cpus;
struct thread_map *threads;
unsigned int sample_size; unsigned int sample_size;
int id_pos; int id_pos;
int is_pos; int is_pos;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment