Re: [V3][PATCH 0/7] perf, x86: Implement AMD IBS

Robert Richter
2011-10-04T17:16:16Z

On 04.10.11 12:45:09, Peter Zijlstra wrote:
> I would much prefer perf {ibs,pebs} commands implemented in C, so that
> normal people can change/improve them too.

Would a perf {ibs,pebs} be an ascii dump or so? Then I just would
better extend perf-report (-D option) to support decoding of raw
samples from dynamically pmus. Something like:

# perf report -D
[...]
. ... raw event: size 88 bytes
. 0000: 01 00 00 00 02 00 58 00 6d 11 00 00 6d 11 00 00 ......X.m...m...
. 0010: 00 80 86 b7 00 00 00 00 00 10 01 00 00 00 00 00 ................
. 0020: 00 00 00 00 00 00 00 00 2f 6c 69 62 2f 6c 69 62 ......../lib/lib
. 0030: 7a 2e 73 6f 2e 31 2e 32 2e 33 00 00 00 00 00 00 z.so.1.2.3......
. 0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
. 0050: 00 00 00 00 00 00 00 00 ........
. # IBS sample (ibs_fetch):
. # IbsFetchCtl = 0x0000000000000000
. # IbsFetchMaxCnt=0
. # IbsFetchCnt=0
. # IbsFetchLat=0
. # IbsFetchEn=0
. # IbsFetchVal=0
. # IbsFetchComp=0
. # IbsIcMiss=0
. # IbsPhyAddrValid=0
. # IbsL1TlbPgSz=0
. # IbsL1TlbMiss=0
. # IbsL2TlbMiss=0
. # IbsRandEn=0
. # IbsFetchLinAd = 0x00000000813e8b80
. # IbsFetchLinAd=0xffffffff813e8b80
. # IbsFetchPhysAd = 0x00000000013e8b80
. # IbsFetchPhysAd=0x13e8b80
[...]

(Data decoding not correct in this example.)

This wouln't require architecture specific commands.

-Robert

--
Advanced Micro Devices, Inc.
Operating System Research Center