Re: [PATCH 13/15] perf_counter: provide generic callchain bits

From: Paul Mackerras
Date: Tue Mar 31 2009 - 05:10:06 EST


Peter Zijlstra writes:

> > One simplification would be that reading
> > the fd of a group leader would always read up all of the counters in the
> > group (along with their enabled and running times if those bits are
> > set), and that reading a single counter's fd would yield only that
> > counter's values and times (if enabled). In effect, these two values,
> > PERF_COUNTER_GROUP and PERF_COUNTER_SIMPLE would no longer be necessary
> > at all. Other bits would be used to determine what's in the mmap'd samples.
>
> Quite so, that sounds sensible, Paul?

I think the readout of the other group members (for a group leader)
should be enabled by a bit in hw_event.read_format, say
PERF_FORMAT_GROUP.

There is a slight complication - we would want to read all the
counters in the group atomically, or as close to atomically as we
could get, and we don't have any way to do that at the moment.

> Would you be overly bothered by the read() output also having that
> {type,size} header we use for the mmap() data?

How about a PERF_FORMAT_HEADERS bit in hw_event.read_format to say that
we want to get the headers in the read() output?

With those two extra bits we can fulfill these desires without adding
overhead for programs that don't want the extra stuff, and without
breaking compatibility.

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