summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2015-09-08 09:58:57 +0200
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-09-15 15:45:47 +0200
commit74bfd2b25de354feb4484c553dce4fe8d9c3b60b (patch)
treead64a19e0217f1bfa6c085decf4618f9aac1cd4b
parentperf evlist: Make set_maps() more resilient (diff)
downloadlinux-74bfd2b25de354feb4484c553dce4fe8d9c3b60b.tar.xz
linux-74bfd2b25de354feb4484c553dce4fe8d9c3b60b.zip
perf evlist: Make create_maps() use set_maps()
Since there is a function to set maps, perf_evlist__create_maps() should use it. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@intel.com> Link: http://lkml.kernel.org/r/1441699142-18905-10-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/perf/util/evlist.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index 78ff52ee8788..c17f3558a37a 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -1126,29 +1126,30 @@ static void perf_evlist__propagate_maps(struct perf_evlist *evlist)
int perf_evlist__create_maps(struct perf_evlist *evlist, struct target *target)
{
- evlist->threads = thread_map__new_str(target->pid, target->tid,
- target->uid);
+ struct cpu_map *cpus;
+ struct thread_map *threads;
- if (evlist->threads == NULL)
+ threads = thread_map__new_str(target->pid, target->tid, target->uid);
+
+ if (!threads)
return -1;
if (target__uses_dummy_map(target))
- evlist->cpus = cpu_map__dummy_new();
+ cpus = cpu_map__dummy_new();
else
- evlist->cpus = cpu_map__new(target->cpu_list);
+ cpus = cpu_map__new(target->cpu_list);
- if (evlist->cpus == NULL)
+ if (!cpus)
goto out_delete_threads;
evlist->has_user_cpus = !!target->cpu_list;
- perf_evlist__propagate_maps(evlist);
+ perf_evlist__set_maps(evlist, cpus, threads);
return 0;
out_delete_threads:
- thread_map__put(evlist->threads);
- evlist->threads = NULL;
+ thread_map__put(threads);
return -1;
}