OSDN Git Service

perf evlist: Simplify propagate_maps() logic
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 8 Sep 2015 07:58:49 +0000 (10:58 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 15 Sep 2015 13:08:22 +0000 (10:08 -0300)
If evsel->cpus is to be reassigned then the current value must be "put",
which works even if it is NULL.  Simplify the current logic by moving
the "put" next to the assignment.

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-2-git-send-email-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evlist.c

index d51a520..95e07ea 100644 (file)
@@ -1113,11 +1113,10 @@ static int perf_evlist__propagate_maps(struct perf_evlist *evlist,
                 * We already have cpus for evsel (via PMU sysfs) so
                 * keep it, if there's no target cpu list defined.
                 */
-               if (evsel->cpus && has_user_cpus)
+               if (!evsel->cpus || has_user_cpus) {
                        cpu_map__put(evsel->cpus);
-
-               if (!evsel->cpus || has_user_cpus)
                        evsel->cpus = cpu_map__get(evlist->cpus);
+               }
 
                evsel->threads = thread_map__get(evlist->threads);