Re: [PATCH] perf, p4: Add format attributes

From: Peter Zijlstra
Date: Tue Mar 27 2012 - 11:06:14 EST

On Tue, 2012-03-27 at 18:57 +0400, Cyrill Gorcunov wrote:
> On Tue, Mar 27, 2012 at 04:50:42PM +0200, Peter Zijlstra wrote:
> > Subject: perf, p4: Add format attributes
> > From: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> > Date: Tue Mar 27 16:19:25 CEST 2012
> >
> > Steven reported his P4 not booting properly, the missing format
> > attributes cause a NULL ptr deref. Cure this by adding the missing
> > format specification.
> >
> > I took the format description out of the comment near
> > p4_config_pack*() and hope that comment is still relatively
> > accurate.
> >
> > Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
> > Cc: Lin Ming <ming.m.lin@xxxxxxxxx>
> > Reported-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> > Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> > Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Thanks a lot, Peter! This format description is somewhat
> new to me (I think I've missed when it was introduced first
> time).

Yeah, its all brand-spanking new stuff.. see , Jiri added a full fledged
bison/yacc parser to perf so we can now write events like:

perf stat -e cpu/event=0xb7,umask=0x01,offcore_rsp=0x500b/

and it uses /sys/bus/event_source/devices/cpu/format/* to figure out how
to convert that into perf_event_attr::config{,1,2} values.

So with this patch you could, on your P4, write:

perf stat -e cpu/cccr=0x1234,escr=0x4321,ht/

and it would construct the perf_event_attr::config value 0x92344321 for

I've still not actually read the P4-PMU specs, so I don't know if
there's anything more convenient we can do on P4. If there's a
better/more useful format representation possible, don't hesitate to
send a patch! :-)

> Reviewed-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at