Re: [PATCH 3/3] perf, tool: Add new event group management

From: Arnaldo Carvalho de Melo
Date: Thu Mar 22 2012 - 08:41:26 EST


Em Wed, Mar 21, 2012 at 11:27:24PM +0100, Jiri Olsa escreveu:
> On Wed, Mar 21, 2012 at 12:11:19PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Wed, Mar 21, 2012 at 11:42:14AM +0100, Jiri Olsa escreveu:
> > > On Tue, Mar 20, 2012 at 07:44:41PM +0100, Peter Zijlstra wrote:
> > > > If so, we need some option like:
> > > >
> > > > perf record -e "{cpu-clock,cache-misses,cache-references}:1"
> > > >
> > > > to mean, only sample on cpu-clock but use PERF_SAMPLE_READ and
> > > > PERF_FORMAT_GROUP to read all siblings on every cpu-clock sample.
> > > >
> > > > Now the disadvantage is that {} needs quotes on bash, the advantage is
> > > > that its completely natural on how to construct groups, without weird
> > > > --group/--group parsed. Also it provides a place for group modifiers.
> > >
> > > how about '=group' keyword followed by ':' modifier
> > > perf record -e "cpu-clock,cache-misses,cache-references=group:1"
> > >
> > > or '=$groupname' and use the group name in output like
> > > perf stat -e "task-clock,context-switches=krava:1" ls
> > >
> > > Performance counter stats for 'ls':
> > >
> > > 1.003695 task-clock/krava # 0.083 CPUs utilized
> > > 0 context-switches/krava # 0.000 K/sec
> > >
> >
> > Humm, interesting, perhaps putting the group name before the =event_list
> > will be more intuitive?
> >
> > I.e.:
> >
> > perf stat -e "krava=task-clock,context-switches:1" ls
>
> yep, I put it at the end because of the ':' modifier stuff.
> We have it for each event, and it'd be in conflict having
> it at the end..
>
> maybe we could put it like:
> perf stat -e "krava:1=task-clock,context-switches" ls
>
> or put some other separator instead of ':' ... but ':' is the best ;)

That thought crossed my mind as well, indeed it seems more intuitive:
everything before the '=' defines the group wide attributes (name,
modifiers, whatevever else we need later) after it, the evlist, where
each evsel can have its own attributes.

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