Hi All,

A while back I added event support to libpfm and papi for the ARM
Cortex A53 based on the publicly available documentation.  However,
I didn't have a means of testing it until recently when I got a
96board dragonboard 410c
(https://www.96boards.org/products/ce/dragonboard410c/) running Ubuntu
15.04 with a custom kernel:

$ uname -a
Linux linaro-alip 4.0.0-linaro-lt-qcom #1 SMP PREEMPT Thu Jun 18 09:43:10 UTC 
2015 aarch64 aarch64 aarch64 GNU/Linux

I took a little time to build and run libpfm from libpfm-4.5.0.tar.gz
and the local validate test things loook good:

$ ./validate 
Libpfm structure tests:
        libpfm ABI version : 0
        pfm_pmu_info_t : Passed
        pfm_event_info_t : Passed
        pfm_event_attr_info_t : Passed
        pfm_pmu_encode_arg_t : Passed
        pfm_perf_encode_arg_t : Passed
Libpfm internal table tests:
        checking perf (80 events): Passed
        checking perf_raw (1 events): Passed
Architecture specific tests:
All tests passed


Similarly built papi from the upstream git repository and ran the tests

$ sudo ./run_tests.sh >& papi_git-ac53g.log

Attached are the results of the tests and below are some comments
about the tests.

The cortex a53 doesn't have support for monitoring floating point events so a 
number of tests are "SKIPPED" or "PASSED with WARNING":

api.c                                         PASSED with WARNING
Running ctests/calibrate:calibrate.c                              SKIPPED


Only supported on specific architectures:

Running ctests/data_range:data_range.c                             SKIPPED
Running ctests/earprofile:earprofile.c                             SKIPPED
Running ctests/p4_lst_ins:p4_lst_ins.c                             SKIPPED
Running ctests/zero_smp:zero_smp.c                               SKIPPED


Missing PAPI_REF_CYC event:
Running ctests/cycle_ratio:cycle_ratio.c                            SKIPPED

Missing PAPI_L1_TCM event:
Running ctests/tenth:tenth.c                                  SKIPPED

arm using 20MHz for REAL_CYCLES
Running ctests/zero:zero.c                                       FAILED

Don't have openshmem
Running ctests/zero_shmem:zero_shmem.c                             SKIPPED


Seem to be related to running the run_test.sh with sudo:
Running ctests/exeinfo:exeinfo.c                                 FAILED
Running ctests/profile_pthreads:profile_pthreads.c               FAILED
Running ctests/profile_twoevents:profile_twoevents.c             FAILED

Looks like need to take a closer look at the domain (kernel/user) control:
Running 
components/perf_event/tests/perf_event_system_wide:perf_event_system_wide.c   
FAILED

-Will
sudo: unable to resolve host wecac53
Platform:
Linux wecac53 4.0.0-linaro-lt-qcom #1 SMP PREEMPT Thu Jun 18 09:43:10 UTC 2015 aarch64 aarch64 aarch64 GNU/Linux
Date:
Tue Jul 21 14:49:28 EDT 2015

Cpuinfo:
processor	: 0
Features	: fp asimd evtstrm crc32
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 0


The following test cases will be run:

ctests/all_events ctests/all_native_events ctests/api ctests/attach2 ctests/attach3 ctests/attach_cpu ctests/attach_target ctests/branches ctests/byte_profile ctests/calibrate ctests/case1 ctests/case2 ctests/child_overflow ctests/clockres_pthreads ctests/cmpinfo ctests/code2name ctests/cycle_ratio ctests/data_range ctests/derived ctests/describe ctests/disable_component ctests/dmem_info ctests/earprofile ctests/eventname ctests/exec ctests/exec2 ctests/exec_overflow ctests/exeinfo ctests/first ctests/flops ctests/fork ctests/fork2 ctests/fork_overflow ctests/forkexec ctests/forkexec2 ctests/forkexec3 ctests/forkexec4 ctests/get_event_component ctests/high-level ctests/high-level2 ctests/hl_rates ctests/hwinfo ctests/inherit ctests/ipc ctests/johnmay2 ctests/krentel_pthreads ctests/kufrin ctests/locks_pthreads ctests/low-level ctests/matrix-hl ctests/max_multiplex ctests/memory ctests/mendes-alt ctests/multiattach ctests/multiattach2 ctests/multiplex1 ctests/multiplex1_pthreads ctests/multiplex2 ctests/multiplex3_pthreads ctests/nmi_watchdog ctests/overflow ctests/overflow2 ctests/overflow3_pthreads ctests/overflow_allcounters ctests/overflow_force_software ctests/overflow_index ctests/overflow_one_and_read ctests/overflow_pthreads ctests/overflow_single_event ctests/overflow_twoevents ctests/p4_lst_ins ctests/profile ctests/profile_force_software ctests/profile_pthreads ctests/profile_twoevents ctests/pthrtough ctests/realtime ctests/remove_events ctests/reset ctests/reset_multiplex ctests/sdsc-mpx ctests/sdsc2-mpx ctests/sdsc4-mpx ctests/second ctests/shlib ctests/sprofile ctests/system_child_overflow ctests/system_overflow ctests/tenth ctests/thrspecific ctests/virttime ctests/zero ctests/zero_attach ctests/zero_flip ctests/zero_fork ctests/zero_named ctests/zero_omp ctests/zero_pthreads ctests/zero_shmem ctests/zero_smp ftests/strtest ftests/zero ftests/zeronamed ftests/first ftests/second ftests/tenth ftests/description ftests/fdmemtest ftests/accum ftests/highlevel ftests/cost ftests/case1 ftests/case2 ftests/clockres ftests/eventname ftests/fmatrixlowpapi ftests/fmatrixpapi ftests/fmatrixpapi2 ftests/flops ftests/fmultiplex1 ftests/johnmay2 ftests/fmultiplex2 ftests/avail components/appio/tests/appio_list_events components/appio/tests/appio_values_by_code components/appio/tests/appio_values_by_name components/appio/tests/appio_test_read_write components/appio/tests/appio_test_pthreads components/appio/tests/appio_test_fread_fwrite components/appio/tests/appio_test_seek components/coretemp/tests/coretemp_basic components/coretemp/tests/coretemp_pretty components/example/tests/example_basic components/example/tests/example_multiple_components components/lustre/tests/lustre_basic components/micpower/tests/micpower_basic components/mx/tests/mx_basic components/mx/tests/mx_elapsed components/net/tests/net_list_events components/net/tests/net_values_by_code components/net/tests/net_values_by_name components/perf_event/tests/perf_event_offcore_response components/perf_event/tests/perf_event_system_wide components/perf_event/tests/perf_event_user_kernel components/perf_event_uncore/tests/perf_event_uncore components/perf_event_uncore/tests/perf_event_uncore_multiple components/perf_event_uncore/tests/perf_event_amd_northbridge components/perf_event_uncore/tests/perf_event_uncore_cbox components/rapl/tests/rapl_basic components/rapl/tests/rapl_busy components/rapl/tests/rapl_wraparound components/rapl/tests/rapl_overflow components/stealtime/tests/stealtime_basic


The following test cases will NOT be run:
ftests/Makefile.recipies ftests/Makefile ftests/Makefile.target.in ctests/Makefile.recipies ctests/Makefile ctests/Makefile.target.in ctests/Make-export components/infiniband/tests/Makefile components/cuda/tests/Makefile components/Makefile_comp_tests components/net/tests/Makefile components/lustre/tests/Makefile components/perf_event/tests/Makefile components/nvml/tests/Makefile components/perf_event_uncore/tests/Makefile components/rapl/tests/Makefile components/bcs/tests/Makefile testlib/Makefile testlib/Makefile.target.in ctests/cpi.pbs ctests/burn ctests/pthrtough2 ctests/timer_overflow ctests/omptough components/appio/tests/iozone/Gnuplot.txt components/appio/tests/iozone/Generate_Graphs components/appio/tests/iozone/report.pl components/appio/tests/iozone/iozone_visualizer.pl components/appio/tests/iozone/gengnuplot.sh components/appio/tests/iozone/gnu3d.dem

Running C Tests

Running ctests/all_events:all_events.c                           PASSED
Running ctests/all_native_events:all_native_events.c             PASSED
Running ctests/api:api.c                                         WARNING
Line # 173
Warning in PAPI_flips: Event does not exist

api.c                                         WARNING
Line # 203
Warning in PAPI_flops: Event does not exist

api.c                                         PASSED with WARNING
Running ctests/attach2:attach2.c                                 PASSED
Running ctests/attach3:attach3.c                                 PASSED
Running ctests/attach_cpu:Event: PAPI_TOT_CYC:  2202343 on Cpu: 0
attach_cpu.c                           PASSED
Running ctests/attach_target:Running ctests/branches:branches.c                               PASSED
Running ctests/byte_profile:byte_profile.c                       PASSED
Running ctests/calibrate:calibrate.c                              SKIPPED
Running ctests/case1:case1.c                                     PASSED
Running ctests/case2:case2.c                                     PASSED
Running ctests/child_overflow:./ctests/child_overflow     PASSED
Running ctests/clockres_pthreads:clockres_pthreads.c             PASSED
Running ctests/cmpinfo:cmpinfo.c                                 PASSED
Running ctests/code2name:code2name.c                             PASSED
Running ctests/cycle_ratio:cycle_ratio.c                            SKIPPED
Running ctests/data_range:data_range.c                             SKIPPED
Running ctests/derived:derived.c                                SKIPPED
Running ctests/describe:describe.c                               PASSED
Running ctests/disable_component:disable_component.c             PASSED
Running ctests/dmem_info:dmem_info.c                             PASSED
Running ctests/earprofile:earprofile.c                             SKIPPED
Running ctests/eventname:eventname.c                             PASSED
Running ctests/exec:exec.c                                       PASSED
Running ctests/exec2:exec2.c                                     PASSED
Running ctests/exec_overflow:./ctests/child_overflow     PASSED
Running ctests/exeinfo:exeinfo.c                                 FAILED
Line # 51
Error: PAPI_get_executable_info

Running ctests/first:first.c                                     PASSED
Running ctests/flops:flops.c                                     PASSED
Running ctests/fork:fork.c                                       PASSED
Running ctests/fork2:fork2.c                                     PASSED
Running ctests/fork_overflow:./ctests/fork_overflow       PASSED
Running ctests/forkexec:forkexec.c                               PASSED
forkexec.c                               PASSED
Running ctests/forkexec2:forkexec2.c                             PASSED
forkexec2.c                             PASSED
Running ctests/forkexec3:forkexec3.c                             PASSED
forkexec3.c                             PASSED
Running ctests/forkexec4:forkexec4.c                             PASSED
forkexec4.c                             PASSED
Running ctests/get_event_component:get_event_component.c         PASSED
Running ctests/high-level:high-level.c                           PASSED
Running ctests/high-level2:high-level2.c                         PASSED
Running ctests/hl_rates:PAPI_flips: Event does not exist
PAPI_flips: Event does not exist
PAPI_flips: Event does not exist
PAPI_stop_counters: Event does not exist
PAPI_flops: Event does not exist
PAPI_flops: Event does not exist
PAPI_flops: Event does not exist
PAPI_stop_counters: Event does not exist
PAPI_event_name_to_code: Event does not exist
Running ctests/hwinfo:hwinfo.c                                   PASSED
Running ctests/inherit:inherit.c                                 PASSED
Running ctests/ipc:ipc.c                                         PASSED
Running ctests/johnmay2:johnmay2.c                               PASSED
Running ctests/krentel_pthreads:krentel_pthreads.c               PASSED
Running ctests/kufrin:kufrin.c                                   PASSED
Running ctests/locks_pthreads:locks_pthreads.c                   PASSED
Running ctests/low-level:low-level.c                             PASSED
Running ctests/matrix-hl:matrix-hl.c                             PASSED
Running ctests/max_multiplex:max_multiplex.c                     PASSED
Running ctests/memory:memory.c                                   PASSED
Running ctests/mendes-alt:mendes-alt.c                           PASSED
Running ctests/multiattach:multiattach.c                         PASSED
Running ctests/multiattach2:multiattach2.c                       PASSED
Running ctests/multiplex1:multiplex1.c                           PASSED
Running ctests/multiplex1_pthreads:multiplex1_pthreads.c         PASSED
Running ctests/multiplex2:multiplex2.c                           PASSED
Running ctests/multiplex3_pthreads:multiplex3_pthreads:

multiplex3_pthreads.c         PASSED
Running ctests/nmi_watchdog:nmi_watchdog.c                       WARNING
Line # 67
Warning: NMI Watchdog Active, enabling slow workarounds

nmi_watchdog.c                       PASSED with WARNING
Running ctests/overflow:overflow.c                               PASSED
Running ctests/overflow2:overflow2.c                             PASSED
Running ctests/overflow3_pthreads:overflow3_pthreads.c           PASSED
Running ctests/overflow_allcounters:overflow_allcounters.c       PASSED
Running ctests/overflow_force_software:overflow_force_software.c PASSED
Running ctests/overflow_index:overflow_index.c                   PASSED
Running ctests/overflow_one_and_read:overflow_one_and_read.c     PASSED
Running ctests/overflow_pthreads:overflow_pthreads.c             PASSED
Running ctests/overflow_single_event:overflow_single_event.c     PASSED
Running ctests/overflow_twoevents:overflow_twoevents.c           PASSED
Running ctests/p4_lst_ins:p4_lst_ins.c                             SKIPPED
Running ctests/profile:profile.c                                 WARNING
Line # 143
Warning: PAPI_profil PAPI_PROFIL_RANDOM not supported

profile.c                                 PASSED with WARNING
Running ctests/profile_force_software:profile.c                                 PASSED
Running ctests/profile_pthreads:profile_pthreads.c               FAILED
Line # 104
Error: No information in buffers

Running ctests/profile_twoevents:profile_twoevents.c             FAILED
Line # 107
Error: No information in buffers

Running ctests/pthrtough:pthrtough.c                             PASSED
Running ctests/realtime:realtime.c                               PASSED
Running ctests/remove_events:remove_events.c                     PASSED
Running ctests/reset:reset.c                                     PASSED
Running ctests/reset_multiplex:reset_multiplex.c                 PASSED
Running ctests/sdsc-mpx:sdsc.c                                       PASSED
Running ctests/sdsc2-mpx:sdsc2.c                                     PASSED
Running ctests/sdsc4-mpx:sdsc4.c                                     PASSED
Running ctests/second:second.c                                   PASSED
Running ctests/shlib:shlib.c                                     PASSED
Running ctests/sprofile:sprofile.c                               PASSED
Running ctests/system_child_overflow:./ctests/child_overflow     PASSED
./ctests/system_child_overflow PASSED
Running ctests/system_overflow:./ctests/system_overflow   PASSED
Running ctests/tenth:tenth.c                                  SKIPPED
Running ctests/thrspecific:thrspecific.c                         PASSED
Running ctests/virttime:virttime.c                               PASSED
Running ctests/zero:zero.c                                       FAILED
Line # 125
Error: Cycles validation

Running ctests/zero_attach:zero_attach.c                         PASSED
Running ctests/zero_flip:zero_flip.c                             PASSED
Running ctests/zero_fork:zero_fork.c                             PASSED
Running ctests/zero_named:zero_named.c                           PASSED
Running ctests/zero_omp:zero_omp.c                               PASSED
Running ctests/zero_pthreads:zero_pthreads.c                     PASSED
Running ctests/zero_shmem:zero_shmem.c                             SKIPPED
Running ctests/zero_smp:zero_smp.c                               SKIPPED

Running Fortran Tests

Running ftests/strtest:strtest.F                                PASSED
Running ftests/zero:zero.F                                   PASSED
Running ftests/zeronamed:zeronamed.F                              PASSED
Running ftests/first:first.F                                  PASSED
Running ftests/second:second.F                                 PASSED
Running ftests/tenth:tenth.F                                  SKIPPED
Running ftests/description:description.F                            PASSED
Running ftests/fdmemtest:fdmemtest.F                              PASSED
Running ftests/accum:accum.F                                  PASSED
Running ftests/highlevel:highlevel.F                              PASSED
Running ftests/cost:cost.F                                   PASSED
Running ftests/case1:case1.F                                  PASSED
Running ftests/case2:case2.F                                  PASSED
Running ftests/clockres:clockres.F                               PASSED
Running ftests/eventname:eventname.F                              PASSED
Running ftests/fmatrixlowpapi:fmatrixlowpapi.F                         PASSED
Running ftests/fmatrixpapi:fmatrixpapi.F                            PASSED
Running ftests/fmatrixpapi2:fmatrixpapi2.F                           PASSED
Running ftests/flops:flops.F                                  SKIPPED
Running ftests/fmultiplex1:fmultiplex1.F                            PASSED
Running ftests/johnmay2:johnmay2.F                               PASSED
Running ftests/fmultiplex2:fmultiplex2.F                            PASSED
Running ftests/avail:avail.F                                  PASSED

Running Component Tests

Running components/appio/tests/appio_list_events:appio_list_events.c             PASSED
Running components/appio/tests/appio_values_by_code:appio_values_by_code.c       PASSED
Running components/appio/tests/appio_values_by_name:appio_values_by_name.c       PASSED
Running components/appio/tests/appio_test_read_write:appio_test_read_write.c     PASSED
Running components/appio/tests/appio_test_pthreads:appio_test_pthreads.c         PASSED
Running components/appio/tests/appio_test_fread_fwrite:appio_test_fread_fwrite.c PASSED
Running components/appio/tests/appio_test_seek:root:x:0:
daemon:x:1:
bin:x:2:
ssyslog,linaro
tty:x:5:
disk:x:6:8:
news:x:9:
uucp:x:10:
man:x:12em:x:15:
dialout:x:20:linaro
fax2:
cdrom:x:24:linaro
floppy:x:25o:x:27:
audio:x:29:pulse,linaro
www-data:x:33:
backup:x:34:
operx:38:
irc:x:39:
src:x:40:
gnats:2:
utmp:x:43:
video:x:44:linaro
ev:x:46:linaro
staff:x:50:
games00:
nogroup:x:65534:
input:x:101l:x:102:
systemd-journal-remote:imesync:x:104:
systemd-network:xsolve:x:106:
systemd-bus-proxy:x08:
fuse:x:109:
crontab:x:110:
m
avahi:x:112:
scanner:x:113:
sys:115:
utempter:x:116:
pulse:x:11x:118:linaro
rtkit:x:119:
colordh:x:121:linaro
lightdm:x:122:
no3:
linaro:x:1000:
admin:x:1001:l:124:
pcp:x:999:
ntp:x:125:
appio_test_seek.c                 PASSED
Running components/coretemp/tests/coretemp_basic:coretemp_basic.c                         SKIPPED
Running components/coretemp/tests/coretemp_pretty:coretemp_pretty.c                        SKIPPED
Running components/example/tests/example_basic:example_basic.c                     PASSED
Running components/example/tests/example_multiple_components:example_multiple_components.c PASSED
Running components/lustre/tests/lustre_basic:lustre_basic.c                           SKIPPED
Running components/micpower/tests/micpower_basic:micpower_basic.c                         SKIPPED
Running components/mx/tests/mx_basic:mx_basic.c                               SKIPPED
Running components/mx/tests/mx_elapsed:mx_elapsed.c                             SKIPPED
Running components/net/tests/net_list_events:net_list_events.c                 PASSED
Running components/net/tests/net_values_by_code:net_values_by_code.c           PASSED
Running components/net/tests/net_values_by_name:net_values_by_name.c           PASSED
Running components/perf_event/tests/perf_event_offcore_response:perf_event_offcore_response.c            SKIPPED
Running components/perf_event/tests/perf_event_system_wide:perf_event_system_wide.c   FAILED
Line # 722
Error: DOM_USER too high

Running components/perf_event/tests/perf_event_user_kernel:perf_event_user_kernel.c                 SKIPPED
Running components/perf_event_uncore/tests/perf_event_uncore:perf_event_uncore.c                      SKIPPED
Running components/perf_event_uncore/tests/perf_event_uncore_multiple:perf_event_uncore_multiple.c             SKIPPED
Running components/perf_event_uncore/tests/perf_event_amd_northbridge:perf_event_amd_northbridge.c             SKIPPED
Running components/perf_event_uncore/tests/perf_event_uncore_cbox:perf_event_uncore_cbox.c                 SKIPPED
Running components/rapl/tests/rapl_basic:rapl_basic.c                             SKIPPED
Running components/rapl/tests/rapl_busy:rapl_basic.c                             SKIPPED
Running components/rapl/tests/rapl_wraparound:rapl_basic.c                             SKIPPED
Running components/rapl/tests/rapl_overflow:rapl_overflow.c                          SKIPPED
Running components/stealtime/tests/stealtime_basic:stealtime_basic.c                 PASSED
------------------------------------------------------------------------------
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to