perf evlist: Fix create_syswide_maps() not propagating maps

Fix it by making it call perf_evlist__set_maps() instead of setting the
maps itself.

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-13-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Adrian Hunter 2015-09-08 10:59:00 +03:00 committed by Arnaldo Carvalho de Melo
parent 44c42d71c6
commit 8c0498b689

View File

@ -1400,6 +1400,8 @@ void perf_evlist__close(struct perf_evlist *evlist)
static int perf_evlist__create_syswide_maps(struct perf_evlist *evlist)
{
struct cpu_map *cpus;
struct thread_map *threads;
int err = -ENOMEM;
/*
@ -1411,20 +1413,19 @@ static int perf_evlist__create_syswide_maps(struct perf_evlist *evlist)
* error, and we may not want to do that fallback to a
* default cpu identity map :-\
*/
evlist->cpus = cpu_map__new(NULL);
if (evlist->cpus == NULL)
cpus = cpu_map__new(NULL);
if (!cpus)
goto out;
evlist->threads = thread_map__new_dummy();
if (evlist->threads == NULL)
goto out_free_cpus;
threads = thread_map__new_dummy();
if (!threads)
goto out_put;
err = 0;
perf_evlist__set_maps(evlist, cpus, threads);
out:
return err;
out_free_cpus:
cpu_map__put(evlist->cpus);
evlist->cpus = NULL;
out_put:
cpu_map__put(cpus);
goto out;
}