mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 05:34:13 +08:00
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: Jiri 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: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
b7f0c20358
commit
578e91ec04
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user