Em Tue, May 11, 2010 at 04:04:17PM +0200, Stephane Eranian escreveu:
> I am confused by the inheritance cmd line option of perf record:

>  usage: perf record [<options>] [<command>]
>     or: perf record [<options>] -- <command> [<options>]
>     -p, --pid <n>         record events on existing process id
>     -t, --tid <n>         record events on existing thread id
>     -a, --all-cpus        system-wide collection from all CPUs
>     -C, --profile_cpu <n> CPU to profile on
>     -i, --inherit         child tasks inherit counters
 
> This leads to believe that by default inheritance in children is off.
 
> However, builtin-record.c says:
> static bool                     inherit    =   true;
 
> If that's the case, what's the point of the -i option?

Humm, since for -C and -a using -i doesn't make sense, I guess it should
be off by default and only be auto-activated if we don't specify any
option, i.e. when using it like:

perf record ./hackbench

What do you think?
 
> Another side effect of inheritance is that in per-thread mode, perf
> creates as many "sessions" as you have CPUs. So on a 16-way processor,
> sampling on cycles, perf creates 16 events and 16 x 2-page sampling
> buffers. That's a lot of resources consumed if I am just interested in
> monitoring a single-threaded workload.
 
> Am I missing something here?

I don't think so, but maybe I'm missing too :-)

- Arnaldo

------------------------------------------------------------------------------

_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to