Re: [RFC] perf: perf record sets inherit by default

From: Arnaldo Carvalho de Melo
Date: Tue May 11 2010 - 11:01:21 EST


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