perf evsel: Fix attr.exclude_kernel setting for default cycles:p
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 10 Jul 2017 19:08:07 +0000 (16:08 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 10 Jul 2017 19:14:48 +0000 (16:14 -0300)
To allow probing the max attr.precise_ip setting for non-root users
we unconditionally set attr.exclude_kernel, which makes the detection
work but should be done only for !root, fix it.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Fixes: 97365e81366f ("perf evsel: Set attr.exclude_kernel when probing max attr.precise_ip")
Link: http://lkml.kernel.org/n/tip-bl6bbxzxloonzvm4nvt7oqgj@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evsel.c

index 87b43188667046c8a676b9bcbb3f2c7c315eb9bc..f2a1876d268eaa6ac00ab169f7aa923af8d49a0e 100644 (file)
@@ -273,7 +273,7 @@ struct perf_evsel *perf_evsel__new_cycles(void)
        struct perf_event_attr attr = {
                .type   = PERF_TYPE_HARDWARE,
                .config = PERF_COUNT_HW_CPU_CYCLES,
-               .exclude_kernel = 1,
+               .exclude_kernel = geteuid() != 0,
        };
        struct perf_evsel *evsel;