Subject: Re: Strange reports of perf events on powerpc 83xx

From: christophe leroy <[email-masked]>
Date: Wed, 2 Sep 2015 20:48:56 +0200

Le 02/09/2015 16:20, Joakim Tjernlund a écrit :
> On Thu, 2015-08-27 at 15:58 +0200, leroy christophe wrote:
>> Hi,
>>
>> Has anybody already used 'perf' tool on powerpc MPC83xx ?
>>
>> I have been succesfully using perf on MPC8xx, but on MPC83xx I get
>> something strange.
>>
>> perf record/report reports addresses on user stack, as if it was mixing
>> up D accesses and I accesses.
>>
>> Any idea of what the problem can be ?
> We are also experiencing strange addresses on 83xx, did find the cause
> of this problem?
>
> We are using Linux 4.1.0
I identified this afternoon that the issue comes from 
perf_instruction_pointer()
which reads SPRN_SIAR instead of using the NIP register from the pt_regs 
struct
According to the MPC8323 reference manual, there is no such register.

I'm looking at the history in order to fully understand the reason.
Looks like PPC_HAVE_PMU_SUPPORT is selected for all PPC_BOOK3S_32 allthought
mpc832x has no PMU.

Christophe
>
>> # Samples: 8K of event 'cpu-clock'
>> # Event count (approx.): 2196000000
>> #
>> # Overhead  Command       Shared Object       Symbol
>> # ........  ............  ..................
>> ............................................
>> #
>>        2.62%  perf_reseau4  libpthread-2.18.so  [.] __libc_send
>>        2.56%  perf_reseau4  [kernel.kallsyms]   [k] __ip_make_skb
>>        1.62%  perf_reseau4  [kernel.kallsyms]   [k] __ip_append_data.isra.39
>>        1.55%  perf_reseau4  [kernel.kallsyms]   [k] ip_finish_output
>>        1.33%  perf_reseau4  [unknown]           [k] 0x7ffffd94
>>        1.33%  perf_reseau4  [unknown]           [k] 0x7ffffd95
>>        1.28%  perf_reseau4  [unknown]           [k] 0x7ffffd97
>>        1.26%  perf_reseau4  [unknown]           [k] 0x7ffffda3
>>        1.24%  perf_reseau4  [unknown]           [k] 0x7ffffd98
>>        1.22%  perf_reseau4  [unknown]           [k] 0x7ffffd92
>>        1.22%  perf_reseau4  [unknown]           [k] 0x7ffffd9b
>>        1.22%  perf_reseau4  [unknown]           [k] 0x7ffffdaa
>>        1.21%  perf_reseau4  [unknown]           [k] 0x7ffffd96
>>        1.18%  perf_reseau4  [unknown]           [k] 0x7ffffda7
>>        1.17%  perf_reseau4  [unknown]           [k] 0x7ffffd8d
>>        1.17%  perf_reseau4  [unknown]           [k] 0x7ffffd99
>>        1.13%  perf_reseau4  [unknown]           [k] 0x7ffffd90
>>        1.13%  perf_reseau4  [unknown]           [k] 0x7ffffda2
>>        1.12%  perf_reseau4  [kernel.kallsyms]   [k] __local_bh_enable_ip
>>        1.12%  perf_reseau4  [unknown]           [k] 0x7ffffd9c
>>        1.12%  perf_reseau4  [unknown]           [k] 0x7ffffd9e
>>        1.10%  perf_reseau4  [unknown]           [k] 0x7ffffda0
>>        1.08%  perf_reseau4  [unknown]           [k] 0x7ffffd9f
>>        1.08%  perf_reseau4  [unknown]           [k] 0x7ffffda6
>>        1.05%  perf_reseau4  [unknown]           [k] 0x7ffffda8
>>        1.02%  perf_reseau4  [unknown]           [k] 0x7ffffd9a
>>        1.01%  perf_reseau4  [unknown]           [k] 0x7ffffdb0
>>        1.00%  perf_reseau4  [unknown]           [k] 0x7ffffd89
>>        1.00%  perf_reseau4  [unknown]           [k] 0x7ffffd8b
>>        1.00%  perf_reseau4  [unknown]           [k] 0x7ffffdac

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus