Revert 'perf evlist: Fix creation of cpu map'
authorNamhyung Kim <[email protected]>
Wed, 16 May 2012 09:45:48 +0000 (18:45 +0900)
committerArnaldo Carvalho de Melo <[email protected]>
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 <[email protected]>
Analysed-by: Ingo Molnar <[email protected]>
Acked-and-tested-by: Peter Zijlstra <[email protected]>
Signed-off-by: Namhyung Kim <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
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;