Re: [PATCH] arm64: add OProfile support

From: William Cohen
Date: Mon May 05 2014 - 15:55:47 EST


On 05/05/2014 04:04 AM, Ding Tianhong wrote:
> On 2014/4/29 4:39, William Cohen wrote:
>> On 04/27/2014 10:32 PM, Ding Tianhong wrote:
>>> On 2014/4/26 18:22, Ding Tianhong wrote:
>>>> On 2014/4/26 17:23, Catalin Marinas wrote:
>>>>> On 26 Apr 2014, at 09:38, Ding Tianhong <dingtianhong@xxxxxxxxxx> wrote:
>>>>>> Add OProfile support for arm64, using the perf backend, and failing back
>>>>>> to generic timer based sampling if PMU interrupt is not supported.
>>>>>>
>>>>>> I have test this patch on Cortex-A53 and Cortex-A57 motherboard, the OProfile
>>>>>> could work well by PMU irq or arch timer irq.
>>>>>
>>>>> This came up before a few times and we also had an implementation but
>>>>> decided not to merge it. We should rather get the user space oprofile to
>>>>> use the perf kernel API.
>>>>>
>>>>> Thatâs an old thread, it may have even made it into mainline oprofile
>>>>> but I havenât followed the development:
>>>>>
>>>>> http://marc.info/?l=oprofile-list&m=133002515616302&w=2
>>>>>
>>>>> Catalin
>>>>>
>>>
>>> Hi Cadtalin:
>>>
>>> Sorry I could not find the implementation that not to merge the orpfile support for aarch64 till now, and
>>> I still have questions that the existing code only support oprofile by arch timer event, but not
>>> PMU event, this patch only add HW PMU support for oprofile, it is more accurate and stable, can you
>>> give me more advise and appreciate for your help.
>>>
>>> Regards
>>> Ding
>>
>> Hi Ding,
>>
>> There is some basic support for arm64 in oprofile using the kernel's perf infrastructure for the Applied Micro X-Gene processor checked into the upstream oprofile git repository:
>>
>> http://sourceforge.net/p/oprofile/oprofile/ci/34d0065a1a790fc2be05a5ef1d8b0bbf28b814fe/
>>
>> It should be straight forward to adapt and extend this to work for A53 and A57 processors in libop/op_cpu_type.c. At the time I didn't have access to the cortex a57/a53 documentation so this was implemented for the the base ARMv8 PMUv3 events. The processor identification for Cortex a53 and a57 will also need to be added. to /libop/op_cpu_type.c. I don't currently have access to cortex a53 or a57 processors, so I don't know what the magic vendorid and cpuid values are. What is the output of "cat /proc/cpuinfo" for each of the aarch64 processors you are running oprofile on?
>>
>> -Will
>>
>
> Hi Will:
>
> Sorry for feedback so late, too busy these days. :)
>
> Thanks for your message, you can add the the A53 and A57 to support arm-v8 for oprofile.
>
> A53 A57
> Vendid 0x41 0x41
> cpuid 0xD03 0xD07
>
> -Ding

Hi Ding,

Thanks very much for the IDs for Cortex A53 and Cortex A57.

-Will
--
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/