Re: [PATCH v2] perf: disable PERF_RECORD_MMAP2 support

From: Stephane Eranian
Date: Thu Oct 17 2013 - 12:09:55 EST


On Thu, Oct 17, 2013 at 5:59 PM, David Ahern <dsahern@xxxxxxxxx> wrote:
> On 10/17/13 9:57 AM, Stephane Eranian wrote:
>>
>> On Thu, Oct 17, 2013 at 5:54 PM, David Ahern <dsahern@xxxxxxxxx> wrote:
>>>
>>> On 10/17/13 8:28 AM, Stephane Eranian wrote:
>>>>
>>>>
>>>>
>>>> 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.
>>>
>>>
>>>
>>> Why not disable mmap2 as well:
>>>
>>> diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
>>> index 0ce9febf1ba0..289f34dbe970 100644
>>> --- a/tools/perf/util/evsel.c
>>> +++ b/tools/perf/util/evsel.c
>>> @@ -678,7 +678,7 @@ void perf_evsel__config(struct perf_evsel *evsel,
>>> attr->sample_type |= PERF_SAMPLE_WEIGHT;
>>>
>>> attr->mmap = track;
>>> - attr->mmap2 = track && !perf_missing_features.mmap2;
>>> + /* attr->mmap2 = track && !perf_missing_features.mmap2; */
>>> attr->comm = track;
>>>
>> It is disabled automatically later on. I checked that. Wanted to minimize
>> the changes.
>>
>
> Understood that the fallback kicks in. Why fail the perf_event_open every
> single time when we know it is not going to succeed?
>
Ok, I can add that.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/