diff options
author | Pratyush Anand <panand@redhat.com> | 2017-07-01 09:33:35 +0300 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2017-08-08 16:33:13 +0300 |
commit | 1031a1592908ccd3240f4a5731c96c382c932310 (patch) | |
tree | dc0cae0b5281438118b5a0c16bd244e9f5e1d400 /drivers/perf | |
parent | aae4e7a8bc44722fe70d58920a36916b1043195e (diff) | |
download | linux-1031a1592908ccd3240f4a5731c96c382c932310.tar.xz |
arm64: perf: Allow more than one cycle counter to be used
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
Signed-off-by: Pratyush Anand <panand@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers/perf')
0 files changed, 0 insertions, 0 deletions