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

Will Deacon will.deacon at arm.com
Mon Jul 17 06:16:35 PDT 2017


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



More information about the linux-arm-kernel mailing list