On 2019/10/16 18:12, James Clark wrote:
> Hi Xiaojun,
> 
>>>
>>> What do you mean when the user specifies "event:pp", if the SPE is 
>>> available, configure and record the spe data directly via the perf event 
>>> open syscall?
>>> (perf.data itself is the same as using -e arm_spe_0//xxx?)
>>
>> I mean, for the perf record, if the user does not add ":pp" to these events, 
>> the original process is taken, and if ":pp" is added, the spe process is 
>> taken.
>>
> 
> Yes we think this is the best way to do it considering that SPE has been 
> implemented as a separate PMU and it will be very difficult to do it in the 
> Kernel when the precise_ip attribute is set.
> 
> I think doing everything in userspace is easiest. This will at least mean 
> that users of Perf don't have to be aware of the details of SPE to get 
> precise sample data.
> 
> So if the user specifies "event:p" when SPE is available, the SPE PMU is 
> automatically configured data is recorded. If the user also specifies -e 
> arm_spe_0//xxx and wants to do some manual configuration, then that could 
> override the automatic configuration.
> 
> 
> James
> 
> 
> 

OK. I got it.

I found a bug in the test. If I specify cpu_list(use -a or -C) when logging spe 
data, some events with "pid:0 tid:0" is logged. This is obviously wrong.

I want to solve this problem, but I haven't found out what went wrong.

--------------------------------------------------------------
[root@server121 perf]# perf record -e 
arm_spe_0/branch_filter=1,ts_enable=1,pa_enable=1,load_filter=1,jitter=0,store_filter=1,min_latency=0/
 -a
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 7.925 MB perf.data ]
[root@server121 perf]# perf report -D > spe_dump.out
[root@server121 perf]# vim spe_dump.out

--------------------------------------------------------------
...
0xd0330 [0x30]: event: 12
.
. ... raw event: size 48 bytes
.  0000:  0c 00 00 00 00 00 30 00 00 00 00 00 00 00 00 00  ......0.........
.  0010:  00 00 00 00 00 00 00 00 f8 d9 fe bd f7 08 02 00  ................
.  0020:  00 00 00 00 00 00 00 00 4c bc 14 00 00 00 00 00  ........L.......

0 572810090961400 0xd0330 [0x30]: PERF_RECORD_ITRACE_START pid: 0 tid: 0

0xd0438 [0x30]: event: 12
.
. ... raw event: size 48 bytes
.  0000:  0c 00 00 00 00 00 30 00 00 00 00 00 00 00 00 00  ......0.........
.  0010:  00 00 00 00 00 00 00 00 d8 ef fe bd f7 08 02 00  ................
.  0020:  01 00 00 00 00 00 00 00 4d bc 14 00 00 00 00 00  ........M.......

1 572810090967000 0xd0438 [0x30]: PERF_RECORD_ITRACE_START pid: 0 tid: 0
...
--------------------------------------------------------------

Thanks.
Xiaojun.

Reply via email to