[PATCH] arm64: perf: Allow more than one cycle counter to be used

Pratyush Anand panand at redhat.com
Mon Jul 17 07:00:54 PDT 2017



On Monday 17 July 2017 06:46 PM, Will Deacon wrote:
> On Mon, Jul 17, 2017 at 08:56:10AM +0530, Pratyush Anand wrote:
>> On Saturday 01 July 2017 12:03 PM, Pratyush Anand wrote:
>>> Currently:
>>> $ perf stat -e cycles:u -e cycles:k  true
>>>
>>> Performance counter stats for 'true':
>>>
>>>          2,24,699      cycles:u
>>>     <not counted>      cycles:k	(0.00%)
>>>
>>>       0.000788087 seconds time elapsed
>>>
>>> We can not count more than one cycle counter in one instance,because we
>>> allow to map cycle counter into PMCCNTR_EL0 only. However, if I did not
>>> miss anything then specification do not prohibit to use PMEVCNTR<n>_EL0
>>> for cycle count as well.
>>>
>>> Modify the code so that it still prefers to use PMCCNTR_EL0 for cycle
>>> counter, however allow to use PMEVCNTR<n>_EL0 if PMCCNTR_EL0 is already
>>> in use.
>>>
>>> After this patch:
>>>
>>> $ perf stat -e cycles:u -e cycles:k   true
>>>
>>> Performance counter stats for 'true':
>>>
>>>          2,17,310      cycles:u
>>>          7,40,009      cycles:k
>>>
>>>       0.000764149 seconds time elapsed
>>>
>>
>> Any comment/feedback?
>
> I'll pick this one up.
>

Thanks Will.

-- 
Pratyush



More information about the linux-arm-kernel mailing list