Re: [PATCH 1/3] perf, tool: Add parser generator for events parsing
From: Peter Zijlstra
Date:  Tue Dec 20 2011 - 05:48:11 EST
On Tue, 2011-12-20 at 11:31 +0100, Jiri Olsa wrote:
> On Fri, Dec 16, 2011 at 03:03:16PM +0100, Peter Zijlstra wrote:
> > On Fri, 2011-12-16 at 15:02 +0100, Peter Zijlstra wrote:
> > > > event_tracepoint:       PE_NAME_TP ':' PE_NAME_TP modifier
> > > > event_raw:              PE_SEP_RAW PE_VALUE modifier
> > > > event_numeric:          PE_VALUE ':' PE_VALUE modifier
> > > > event_symbolic:         PE_NAME_SYM modifier
> > > > event_generic_hw:       PE_NAME_CACHE_TYPE '-' PE_NAME_CACHE_OP_RESULT '-' PE_NAME_CACHE_OP_RESULT modifier |
> > > >                         PE_NAME_CACHE_TYPE '-' PE_NAME_CACHE_OP_RESULT modifier |
> > > >                         PE_NAME_CACHE_TYPE modifier
> > > > event_breakpoint:       PE_SEP_BP ':' PE_VALUE event_breakpoint_type modifier
> > > > event_breakpoint_type:  PE_MODIFIER_BPTYPE | empty
> > > > modifier:               PE_MODIFIER_EVENT | empty
> > > 
> > > This isn't complete, we need means of specifying
> > > perf_event_attr::config[12] when specifying a raw event. 
> > 
> > Also, it might make sense to think about how to specify sysfs events
> > (which don't exist yet).
> 
> any idea/details/specifics how they might look like? ;)
The current idea is that they'd live in a place like:
  /sys/bus/event_source/devices/$pmu/events/$event
and when you read them they contain a full event_raw style string so you
could do things like:
  perf record -e `cat $sysfsfile` or so
(or maybe without the 'r' prefix).
The idea was to have some $pmu:$event like syntax, but seeing that ':'
is already used quite a lot, there's maybe a more suitable separator.
Maybe '/' would do, yielding things like cpu/instructions.
Then again, it might make sense to restructure the syntax without
considerations for the status quo and see if we can come up with
something a little more consistent, the above event_* things are quite a
hodge podge, syntax wise.
While I appreciate that they are the result of organic growth, it
doesn't mean we shouldn't try and restructure stuff once in a while when
it makes sense.
--
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/