I found the magic sauce for getting the PMU event counters working in recent upstream code. On the 4460 the EMU clock has to be forced on. A patch for this, and for missing PMU/CTI interrupt mods is being applied to our 3.4 branch now. With this it will be possible to build a kernel with hardware event counters enabled and use perf to collect counter data. Bear in mind there is still nothing we can do to really work around the problem of occasional lost PMU interrupts, as that is a hardware issue.
-- You received this bug notification because you are a member of TI OMAP Developers, which is subscribed to linaro-landing-team-ti. https://bugs.launchpad.net/bugs/1018092 Title: Perf test fails on Pandaboard (3.4 TILT) Status in Linaro Texas Instruments Landing Team: Won't Fix Status in Linaro Ubuntu Evaluation Builds: Confirmed Status in “linux-ti-omap4” package in Ubuntu: Confirmed Bug description: Test case available at lava-tests, and which can also be used from https://code.launchpad.net/~linaro-maintainers/lava-test/lava-test- perf. ./run-perf-test.sh + whoami + [ root != root ] + uname -r + cut -f 1 -d- + KERNELVER=3.4.0 + apt-cache search linux-linaro-tools-3.4.0 + head -1 + cut -f 1 -d + PKGNAME=linux-linaro-tools-3.4.0-1-linaro-llt-origen + PERFBIN_PREFIX=/usr/bin/perf_ + uname -r + awk -F - {print $1"-"$2} + PERFBIN_VER=3.4.0-1 + [ ! -e /usr/bin/perf_3.4.0-1 ] + echo Performing perf record test... Performing perf record test... + TCID=perf record test + perf record -e cycles -o perf-lava-test.data stress -c 4 -t 10 + tee perf-record.log stress: info: [5325] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd stress: info: [5325] successful run completed in 10s [ perf record: Woken up 3 times to write data ] [ perf record: Captured and wrote 0.766 MB perf-lava-test.data (~33480 samples) ] + grep -ao [0-9]\+[ ]\+samples perf-record.log + cut -f 1 -d + samples=33480 + [ 33480 -gt 1 ] + echo perf record test : PASS perf record test : PASS + rm perf-record.log + echo Performing perf report test... Performing perf report test... + TCID=perf report test + perf+ tee perf-report.log report -i perf-lava-test.data # ======== # captured on: Tue Jun 26 20:03:22 2012 # hostname : linaro-ubuntu-desktop # os release : 3.4.0-1-linaro-lt-omap # perf version : 3.4.0 # arch : armv7l # nrcpus online : 2 # nrcpus avail : 2 # cpudesc : ARMv7 Processor rev 10 (v7l) # total memory : 974156 kB # cmdline : /usr/bin/perf_3.4.0-1 record -e cycles -o perf-lava-test.data stress -c 4 -t 10 # event : name = cycles, type = 1, config = 0x0, config1 = 0x0, config2 = 0x0, excl_usr = 0, excl_kern = 0, id = { 15, 16 } # HEADER_CPU_TOPOLOGY info available, use -I to display # ======== # # Events: 19K cpu-clock # # Overhead Command Shared Object Symbol # ........ ....... ................. ............................... # 38.10% stress libc-2.15.so [.] random_r 36.33% stress libc-2.15.so [.] random 20.79% stress stress [.] atoll_b 3.69% stress libc-2.15.so [.] rand 0.85% stress stress [.] main 0.16% stress [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore 0.04% stress [kernel.kallsyms] [k] _raw_spin_unlock_irq 0.03% stress [kernel.kallsyms] [k] __do_softirq 0.01% stress [kernel.kallsyms] [k] vfp_support_entry 0.01% stress [kernel.kallsyms] [k] vfp_save_state 0.01% stress [kernel.kallsyms] [k] lock_acquire 0.01% stress [kernel.kallsyms] [k] rcu_process_gp_end.isra.23 0.01% stress [kernel.kallsyms] [k] kfree_skbmem 0.00% stress [kernel.kallsyms] [k] debug_check_no_locks_freed 0.00% stress [kernel.kallsyms] [k] filemap_fault 0.00% stress [kernel.kallsyms] [k] proc_flush_task_mnt # # (For a higher level overview, try: perf report --sort comm,dso) # + grep -c -e ^[ ]\+[0-9]\+.[0-9]\+% perf-report.log + pcnt_samples=16 + [ 16 -gt 1 ] + echo perf report test : PASS perf report test : PASS + rm perf-report.log perf-lava-test.data + echo Performing perf stat test... Performing perf stat test... + TCID=perf stat test + perf stat -e cycles stress -c 4 -t 10 + tee perf-stat.log Error: open_counter returned with 19 (No such device). /bin/dmesg may provide additional information. Fatal: Not all events could be opened. + grep -o [0-9,]\+[ ]\+cycles perf-stat.log + sed s/,//g + cut -f 1 -d + cycles= + [ -gt 1 ] ./run-perf-test.sh: 71: [: -gt: unexpected operator + echo perf stat test : FAIL perf stat test : FAIL + rm perf-stat.log + echo Performing 'perf test'... Performing 'perf test'... + TCID=perf test + perf test + sed -e s/FAILED!/FAIL/g -e s/Ok/PASS/g -e s/ [0-9]\+:/perf test -/g -e s/:/ :/g perf test - vmlinux symtab matches kallsyms : FAIL perf test - detect open syscall event : FAIL perf test - detect open syscall event on all cpus : FAIL perf test - read samples using the mmap interface : FAIL perf test - parse events tests :invalid or unsupported event : 'syscalls :sys_enter_open' Run 'perf list' for a list of valid events FAIL perf test - Validate PERF_RECORD_* events & perf_sample fields : FAIL perf test - Test perf pmu format parsing : PASS Using: Hwpack: hwpack_linaro-lt-panda-x11-base_20120626-139_armhf_supported.tar.gz Rootfs: linaro-precise-ubuntu-desktop-20120626-247.tar.gz To manage notifications about this bug go to: https://bugs.launchpad.net/linaro-landing-team-ti/+bug/1018092/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~tiomap-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~tiomap-dev More help : https://help.launchpad.net/ListHelp

