perf: Disable PERF_RECORD_MMAP2 support
authorStephane Eranian <eranian@google.com>
Thu, 17 Oct 2013 17:32:15 +0000 (19:32 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 17 Oct 2013 19:27:14 +0000 (16:27 -0300)
commit3090ffb5a2515990182f3f55b0688a7817325488
treea867d484f48cd124f3333ee6d10b120d2b9ac784
parent3b16ff89676d9902dc39976aee3cb0314ee37d93
perf: Disable PERF_RECORD_MMAP2 support

For now, we disable the extended MMAP record support (MMAP2).

We have identified cases where it would not report the correct mapping
information, clone(VM_CLONE) but with separate pids.  We will revisit
the support once we find a solution for this case.

The patch changes the kernel to return EINVAL if attr->mmap2 is set. The
patch also modifies the perf tool to use regular PERF_RECORD_MMAP for
synthetic events and it also prevents the tool from requesting
attr->mmap2 mode because the kernel would reject it.

The support will be revisited once the kenrel interface is updated.

In V2, we reduce the patch to the strict minimum.

In V3, we avoid calling perf_event_open() with mmap2 set because we know
it will fail and require fallback retry.

Signed-off-by: Stephane Eranian <eranian@google.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20131017173215.GA8820@quad
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
kernel/events/core.c
tools/perf/util/event.c
tools/perf/util/evsel.c