perf stat: Move enable_on_exec setup under earlier code
authorJiri Olsa <jolsa@kernel.org>
Thu, 3 Dec 2015 09:06:45 +0000 (10:06 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 7 Dec 2015 21:12:59 +0000 (18:12 -0300)
It's more readable this way and we can save one
perf_evsel__is_group_leader condition in current code.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1449133606-14429-7-git-send-email-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-stat.c

index 2e70610..e74712d 100644 (file)
@@ -173,17 +173,20 @@ static int create_perf_stat_counter(struct perf_evsel *evsel)
         * either manually by us or by kernel via enable_on_exec
         * set later.
         */
-       if (perf_evsel__is_group_leader(evsel))
+       if (perf_evsel__is_group_leader(evsel)) {
                attr->disabled = 1;
 
-       if (target__has_cpu(&target))
-               return perf_evsel__open_per_cpu(evsel, perf_evsel__cpus(evsel));
-
-       if (!target__has_task(&target) && perf_evsel__is_group_leader(evsel)) {
-               if (!initial_delay)
+               /*
+                * In case of initial_delay we enable tracee
+                * events manually.
+                */
+               if (target__none(&target) && !initial_delay)
                        attr->enable_on_exec = 1;
        }
 
+       if (target__has_cpu(&target))
+               return perf_evsel__open_per_cpu(evsel, perf_evsel__cpus(evsel));
+
        return perf_evsel__open_per_thread(evsel, evsel_list->threads);
 }