Re: [PATCH 10/10] perf record: Add an option to force per-cpu mmaps

From: Adrian Hunter
Date: Fri Nov 15 2013 - 07:26:51 EST


On 15/11/13 14:05, Ingo Molnar wrote:
>
> * Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
>> On Fri, Nov 15, 2013 at 12:56:29PM +0100, Ingo Molnar wrote:
>>> So, here's the current status quo, there's 4 basic types of profiling
>>> that 99% of the people are using, in order of popularity:
>>>
>>> perf record <cmd>
>>> perf record -a sleep N
>>> perf record -p <PID>
>>> perf record -t <TID>
>>>
>>> The first two (which I'd guess comprise about 95% of real-world usage)
>>> have inheritance enabled.
>>>
>>> The last two (-p/-t) have inheritance disabled by default.
>>
>> Yes, and I would expect it to be disabled for the TID option as you
>> explicitly select a single threads.
>
> Correct.
>
>> For the process wide thing it would make sense to enable inheritance
>> by default though.
>>
>> So the big trade-off is that for single threaded processes which do
>> not fork you now have a single buffer, whereas with the inheritance
>> option you'll end up with nr_cpus buffers by default.
>>
>> I suppose for most normal people that's not really an issue; and I
>> suppose all people with silly large machines already pay extra
>> attention -- but at least make it explicit and very clear that this
>> is so.
>
> Do the first variant, 'perf record <cmd>', already use per CPU
> buffers?

Yes.

Another difference (and I need to fix the patch) is that per-cpu mmaps
require PERF_SAMPLE_TIME so that the events do not appear out of order.

--
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/