Re: [PATCH V3 06/11] perf record: Add an option to force per-cpummaps

From: Adrian Hunter
Date: Tue Nov 05 2013 - 03:29:05 EST


On 04/11/13 17:29, Jiri Olsa wrote:
> On Fri, Nov 01, 2013 at 03:51:34PM +0200, Adrian Hunter wrote:
>> By default, when tasks are specified (i.e. -p, -t
>> or -u options) per-thread mmaps are created. Add
>> an option to override that and force per-cpu mmaps.
>>
>> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
>> ---
>> tools/perf/Documentation/perf-record.txt | 6 ++++++
>> tools/perf/builtin-record.c | 2 ++
>> tools/perf/util/evlist.c | 4 +++-
>> tools/perf/util/evsel.c | 4 ++--
>> tools/perf/util/target.h | 1 +
>> 5 files changed, 14 insertions(+), 3 deletions(-)
>>
>> diff --git a/tools/perf/Documentation/perf-record.txt b/tools/perf/Documentation/perf-record.txt
>> index f10ab63..2ea6685 100644
>> --- a/tools/perf/Documentation/perf-record.txt
>> +++ b/tools/perf/Documentation/perf-record.txt
>> @@ -189,6 +189,12 @@ abort events and some memory events in precise mode on modern Intel CPUs.
>> --transaction::
>> Record transaction flags for transaction related events.
>>
>> +--force-per-cpu::
>> +Force the use of per-cpu mmaps. By default, when tasks are specified (i.e. -p,
>> +-t or -u options) per-thread mmaps are created. This option overrides that and
>> +forces per-cpu mmaps. A side-effect of that is that inheritance is
>> +automatically enabled. Add the -i option also to disable inheritance.
>
> I recently sent out patch that actually force perf cpu mmaps for -p,-t,-u
> http://marc.info/?l=linux-kernel&m=138332119912433&w=2
>
> Is there a reason why would you want to keep single
> mmap (in record command) and cut yourself from inherited
> events?

Not sure I understand the question.

perf supports having a single context for a thread. That is a
feature. You seem to be removing perf tools support for it.

I image a case where the user has hundreds of CPUs but just
wants to record one thread. Currently -t does that. i.e.
one file descriptor and one mmap saving megabytes of memory.

Another advantage of per-thread mmaps is that you do not
need to sample time (nor cpu), because the events are recorded
in order.

I was adding a feature. Users can choose per-cpu mmaps if
they want.

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