"perf" command not found on Linaro openembedded lamp image

Bug #1212126 reported by Soumya Basak on 2013-08-14
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro OpenEmbedded
Confirmed
Medium
koen

Bug Description

Lava dashboard: http://validation.linaro.org/dashboard/image-reports/lamp-armv8
Linaro-openembedded Lamp builds: https://ci.linaro.org/jenkins/job/openembedded-armv8-pre-built-images-vexpress64/423

Lava validation: http://validation.linaro.org/dashboard/streams/public/team/linaro/pre-built-vexpress64/bundles/17301ddf6afb100e4cb4848772428cfbed4a9bb2/

the execution of "perf" test suites run fails.

results bundles: http://validation.linaro.org/dashboard/streams/public/team/linaro/pre-built-vexpress64/bundles/17301ddf6afb100e4cb4848772428cfbed4a9bb2/7018d4fe-ee8b-4b29-8c67-ce7cf013ebbc/

error observed from the complete log report:

<LAVA_TEST_RUNNER>: running 0_perf installer ...
 + cd /lava/tests/0_perf
 <LAVA_TEST_RUNNER>: save hardware/software context info...
 <LAVA_TEST_RUNNER>: looking for work in /lava/lava-test-runner.conf-1376009045
 <LAVA_TEST_RUNNER>: running 0_perf under lava-test-shell...
 <LAVA_SIGNAL_STARTRUN 0_perf 7018d4fe-ee8b-4b29-8c67-ce7cf013ebbc>
 echo LAVA_ACK
 + set -x
 ++ whoami
 + '[' root '!=' root ']'
 + '[' -e /usr/bin/apt-get ']'
 + 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
 ./run-perf-test.sh: line 48: perf: command not found
 ++ cut -f 1 '-d '
 ++ grep -ao '[0-9]+[ ]+samples' perf-record.log
 + samples=
 + '[' -gt 1 ']'
 ./run-perf-test.sh: line 50: [: -gt: unary operator expected
 + echo 'perf record test : FAIL'
 perf record test : FAIL
 + rm perf-record.log
 + echo 'Performing perf report test...'
 Performing perf report test...
 + TCID='perf report test'
 + tee perf-report.log
 + perf report -i perf-lava-test.data
 ./run-perf-test.sh: line 60: perf: command not found
 ++ grep -c -e '^[ ]+[0-9]+.[0-9]+%' perf-report.log
 + pcnt_samples=0
 + '[' 0 -gt 1 ']'
 + echo 'perf report test : FAIL'
 perf report test : FAIL
 + rm perf-report.log perf-lava-test.data
 rm: cannot remove 'perf-lava-test.data': No such file or directory
 + echo 'Performing perf stat test...'
 Performing perf stat test...
 + TCID='perf stat test'
 + tee perf-stat.log
 + perf stat -e cycles stress -c 4 -t 10
 ./run-perf-test.sh: line 72: perf: command not found
 ++ sed s/,//g
 ++ grep -o '[0-9,]+[ ]+cycles' perf-stat.log
 ++ cut -f 1 '-d '
 + cycles=
 + '[' -gt 1 ']'
 ./run-perf-test.sh: line 74: [: -gt: unary operator expected
 + 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'
 ./run-perf-test.sh : lineperf test - perf : command not found

the issue reproduced with the following builds:

http://snapshots.linaro.org/openembedded/pre-built/vexpress64/latest/vexpress64-openembedded_minimal-armv8_20130827-444.img.gz
http://snapshots.linaro.org/openembedded/pre-built/vexpress64/latest/vexpress64-openembedded_lamp-armv8_20130827-444.img.gz
http://snapshots.linaro.org/openembedded/pre-built/vexpress64/latest/vexpress64-openembedded_leg-java-armv8_20130827-444.img.gz
http://snapshots.linaro.org/openembedded/pre-built/vexpress64/500

Andrew McDermott (frobware) wrote :

Perf is missing because of this:

commit 7e88c14c9981e09312818ff4cc04848a8668ff9a
Author: Andrew McDermott <email address hidden>
Date: Thu Aug 1 14:58:39 2013 +0100

    aarch64: perf: temporarily remove until build issues resolved

    Remove perf until the current build issues are understood and fixed.

    Signed-off-by: Andrew McDermott <email address hidden>

Fathi Boudra (fboudra) on 2013-08-14
Changed in linaro-oe:
status: New → Confirmed
Milosz Wasilewski (mwasilew) wrote :

Andrew,
What is the priority for that fix? Should we also disable perf test case for the time perf is unavailable?

HI,

I ran "sudo perf test" on my X86 PC, and most tests fail. It is not
clear to me if the test is useful. Perhaps we can disable the yaml
test and see if anyone asks us to add it back...

Riku

On 14 August 2013 12:53, Andrew McDermott <email address hidden> wrote:
> Perf is missing because of this:
>
> commit 7e88c14c9981e09312818ff4cc04848a8668ff9a
> Author: Andrew McDermott <email address hidden>
> Date: Thu Aug 1 14:58:39 2013 +0100
>
> aarch64: perf: temporarily remove until build issues resolved
>
> Remove perf until the current build issues are understood and fixed.
>
> Signed-off-by: Andrew McDermott <email address hidden>
>
> --
> You received this bug notification because you are subscribed to Linaro
> OpenEmbedded.
> Matching subscriptions: linaro-oe bugs
> https://bugs.launchpad.net/bugs/1212126
>
> Title:
> "perf" test does not execute on Lava dashboard Linaro openembedded
> lamp image
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/linaro-oe/+bug/1212126/+subscriptions

Riku,

I ran `perf test' on x86 and most test fail too. But if I run with sudo, then most pass:

$ sudo perf test
 1: vmlinux symtab matches kallsyms: FAILED!
 2: detect open syscall event: Ok
 3: detect open syscall event on all cpus: Ok
 4: read samples using the mmap interface: Ok
 5: parse events tests: Ok
 6: x86 rdpmc test: Ok
 7: Validate PERF_RECORD_* events & perf_sample fields: Ok
 8: Test perf pmu format parsing: Ok

Andrew McDermott (frobware) wrote :

I looked into the build failure a little: for me, it appears that perf is being compiled with /usr/bin/gcc. Using a devshell and invoking make explicitly with ARCH=arm64 CROSS_COMPILE=aarch64-oe-gnu the build progressed a little further but I subsequently ran into issues with -fstack-protector being set (and not supported by the toolchain) in addition to other build failures in the scripting parts of the perf tree.

Andrew McDermott (frobware) wrote :

Milosz, et al: now that we have this bug any objections to removing perf from the tests?

Andrew McDermott (frobware) wrote :

Argh! Scrap my comment in #5.

I just propagated the same sstate issue I/we had when compiling openjdk. I copied the toolchain from another build, but that build is too old. Will rebuild from scratch...

description: updated
description: updated
description: updated

On 14 August 2013 15:57, Andrew McDermott <email address hidden> wrote:
> Milosz, et al: now that we have this bug any objections to removing perf
> from the tests?

I'd rather see perf fixed. It's not only OE that is affected.

description: updated
summary: - "perf" test does not execute on Lava dashboard Linaro openembedded lamp
- image
+ "perf" command not found on Linaro openembedded lamp image
koen (koenkooi) wrote :

There's a stand-alone perf recipe in oe-core, maybe that works well enough for the tests.

Fathi Boudra (fboudra) on 2013-12-02
Changed in linaro-oe:
milestone: none → 13.12
Fathi Boudra (fboudra) on 2013-12-10
Changed in linaro-oe:
assignee: nobody → koen (koenkooi)
importance: Undecided → Medium
Fathi Boudra (fboudra) on 2014-01-09
Changed in linaro-oe:
milestone: 13.12 → 14.01
Fathi Boudra (fboudra) on 2014-02-19
Changed in linaro-oe:
milestone: 14.01 → 14.02
Fathi Boudra (fboudra) on 2014-02-22
Changed in linaro-oe:
milestone: 14.02 → 14.03
Fathi Boudra (fboudra) on 2014-04-07
Changed in linaro-oe:
milestone: 14.03 → 14.04
Riku Voipio (riku-voipio) wrote :
Download full text (3.2 KiB)

PREFERRED_PROVIDER_virtual/kernel = "linux-linaro-aarch64" to site.conf,, and add perf and kernel-vmlinux to the lamp images, we get somewhat working perf:

# perf --version
perf version 3.15.0-rc8
# perf stat true
          3.522720 task-clock (msec) # 0.444 CPUs utilized
                 0 context-switches # 0.000 K/sec
                 0 cpu-migrations # 0.000 K/sec
                35 page-faults # 0.010 M/sec
            350132 cycles # 0.099 GHz
   <not supported> stalled-cycles-frontend
   <not supported> stalled-cycles-backend
            350132 instructions # 1.00 insns per cycle
   <not supported> branches
                 0 branch-misses # 0.00% of all branches

       0.007927360 seconds time elapsed
 perf test
[ 64.043275] random: nonblocking pool is initialized
 1: vmlinux symtab matches kallsyms : FAILED!
 2: detect open syscall event : FAILED!
 3: detect open syscall event on all cpus : FAILED!
 4: read samples using the mmap interface : FAILED!
 5: parse events tests :Can't open event dir: No such file or directory
Can't open event dir: No such file or directory
 FAILED!
 6: Validate PERF_RECORD_* events & perf_sample fields :[ 71.466116] hw perfevents: unable to set irq affinity (irq=93, cpu=1)
[ 71.466219] hw perfevents: unable to set irq affinity (irq=94, cpu=2)
[ 71.466323] hw perfevents: unable to set irq affinity (irq=95, cpu=3)
 FAILED!
 7: Test perf pmu format parsing : Ok
 8: Test dso data interface : Ok
 9: roundtrip evsel->name check : Ok
10: Check parsing of sched tracepoints fields : Ok
11: Generate and check syscalls:sys_enter_open event fields: FAILED!
12: struct perf_event_attr setup :sh: /data/oe/build-armv8/tmp-eglibc/sysroots/x86_64-linux/usr/bin/python-native/python: No such file or directory
 FAILED!
13: Test matching and linking multiple hists : Ok
14: Try 'use perf' in python, checking link problems : FAILED!
15: Test breakpoint overflow signal handler : FAILED!
16: Test breakpoint overflow sampling : FAILED!
17: Test number of exit event of a simple workload :[ 73.809814] hw perfevents: unable to set irq affinity (irq=93, cpu=1)
[ 73.809918] hw perfevents: unable to set irq affinity (irq=94, cpu=2)
[ 73.810021] hw perfevents: unable to set irq affinity (irq=95, cpu=3)
 Ok
18: Test software clock events have valid period values : Ok
19: Test object code reading :[ 76.683921] hw perfevents: unable to set irq affinity (irq=93, cpu=1)
 FAILED!
20: Test sample parsing : Ok
21: Test using a dummy software event to keep tracking : Ok
22: Test...

Read more...

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers