]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
Revert 'perf evlist: Fix creation of cpu map'
authorNamhyung Kim <namhyung.kim@lge.com>
Wed, 16 May 2012 09:45:48 +0000 (18:45 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 16 May 2012 15:12:05 +0000 (12:12 -0300)
The commit 55261f46702c ("perf evlist: Fix creation of cpu map") changed
to create a per-task event when no cpu target is specified. However it
caused a problem since perf-task do not allow event inheritance due to
scalability issues so that the result will contain samples only from
parent, not from its children.

So we should use perf-task-per-cpu events anyway to get the right
result. Revert it.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Analysed-by: Ingo Molnar <mingo@kernel.org>
Acked-and-tested-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1337161549-9870-2-git-send-email-namhyung.kim@lge.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evlist.c

index 80bef281eee06efa537cddd57d2bc14732ded08b..87889f325678723cf409fb05b852bc6e12d9739d 100644 (file)
@@ -609,10 +609,10 @@ int perf_evlist__create_maps(struct perf_evlist *evlist,
        if (evlist->threads == NULL)
                return -1;
 
-       if (perf_target__has_cpu(target))
-               evlist->cpus = cpu_map__new(target->cpu_list);
-       else
+       if (perf_target__has_task(target))
                evlist->cpus = cpu_map__dummy_new();
+       else
+               evlist->cpus = cpu_map__new(target->cpu_list);
 
        if (evlist->cpus == NULL)
                goto out_delete_threads;