perf target: Move the checking of which map function to call into function.
authorDongsheng Yang <yangds.fnst@cn.fujitsu.com>
Wed, 4 Dec 2013 22:56:40 +0000 (17:56 -0500)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 4 Dec 2013 16:46:37 +0000 (13:46 -0300)
Check for cpu_map__dummy_new() or cpu_map__new() to be called in
perf_evlist__create_maps() is more complicated.

This patch moves the checking work into target.h, combining two
conditions and making perf_evlist__create_maps() more readable.

Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/b8c41f1fd2c4f0df71eb7b19aea74fb64d46cdda.1386197481.git.yangds.fnst@cn.fujitsu.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evlist.c
tools/perf/util/target.h

index 76fa76431329f9b252d15e1b49b43e18d05c6c0a..7bb6ee1ca19f8f1babf7dfc5f9f0b39dab1558a7 100644 (file)
@@ -819,13 +819,7 @@ int perf_evlist__create_maps(struct perf_evlist *evlist, struct target *target)
        if (evlist->threads == NULL)
                return -1;
 
-       if (target->default_per_cpu)
-               evlist->cpus = target->per_thread ?
-                                       cpu_map__dummy_new() :
-                                       cpu_map__new(target->cpu_list);
-       else if (target__has_task(target))
-               evlist->cpus = cpu_map__dummy_new();
-       else if (!target__has_cpu(target) && !target->uses_mmap)
+       if (target__uses_dummy_map(target))
                evlist->cpus = cpu_map__dummy_new();
        else
                evlist->cpus = cpu_map__new(target->cpu_list);
index 31dd2e9a27d043fd0609bfed57ea6a0f9076c6d9..7381b1ca4041f2975f5d4e7e26f25809601704b2 100644 (file)
@@ -63,4 +63,17 @@ static inline bool target__none(struct target *target)
        return !target__has_task(target) && !target__has_cpu(target);
 }
 
+static inline bool target__uses_dummy_map(struct target *target)
+{
+       bool use_dummy = false;
+
+       if (target->default_per_cpu)
+               use_dummy = target->per_thread ? true : false;
+       else if (target__has_task(target) ||
+                (!target__has_cpu(target) && !target->uses_mmap))
+               use_dummy = true;
+
+       return use_dummy;
+}
+
 #endif /* _PERF_TARGET_H */