Re: [PATCH 05/53] perf tools: Test correct path of perf in build-test
From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2016-01-12 14:08:14
Also in:
lkml
Em Tue, Jan 12, 2016 at 03:16:08PM +0800, Wangnan (F) escreveu:
On 2016/1/12 6:39, Arnaldo Carvalho de Melo wrote:quoted
Em Mon, Jan 11, 2016 at 07:39:04PM -0300, Arnaldo Carvalho de Melo escreveu:quoted
Em Mon, Jan 11, 2016 at 07:06:18PM -0300, Arnaldo Carvalho de Melo escreveu:quoted
Em Mon, Jan 11, 2016 at 12:24:56PM -0300, Arnaldo Carvalho de Melo escreveu:quoted
Em Mon, Jan 11, 2016 at 01:47:56PM +0000, Wang Nan escreveu:quoted
If an 'O' is passed to 'make build-test', many 'test -x' and 'test -f' will fail because perf resides in a different directory. Fix this by computing PERF_OUT according to 'O' and test correct output files. For make_kernelsrc and make_kernelsrc_tools, set KBUILD_OUTPUT_DIR instead because the path is different from others ($(O)/perf vs $(O)/tools/perf).Ok, applying up to this patch I now manage to almost cleanly build it using O=, see below, but seems that we have some race, as not all tests end up producing such warnings. [acme@felicio linux]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ; make O=/tmp/build/perf -C tools/perf build-test make: Entering directory `/home/acme/git/linux/tools/perf' Testing Makefile - make_no_libperl: cd . && make -f Makefile DESTDIR=/tmp/tmp.m1nXBMqhSA NO_LIBPERL=1 find: ‘/tmp/build/perf/util/trace-event-scripting.o’: No such file or directoryThis can happen when you parallelly run find and rm on one directory. However, I've never seen this message in build-test before.
I'll leave this in the backburner for now, there are other, more important patches to process, we should revisit this as soon as we process the other eBPF patches :-\
quoted
quoted
quoted
Well, it is happening even without O=:So I removed a few patches and those aren't appearing anymore, please take a look at my perf/core branch, running build-test on a few machines now, will push soon. My hunch is that build-test has issues with parallel builds, but I'm not sure...Good: - make_perf_o_O: cd . && make -f Makefile O=/tmp/tmp.oLeg8aUaOo DESTDIR=/tmp/tmp.16WP4HTQJs perf.o - make_util_pmu_bison_o_O: cd . && make -f Makefile O=/tmp/tmp.xNRV0pCXfD DESTDIR=/tmp/tmp.8dyU9uEbHe util/pmu-bison.o - make_no_libdw_dwarf_unwind_O: cd . && make -f Makefile O=/tmp/tmp.pHH4HExHcH DESTDIR=/tmp/tmp.Wo0m8fF5cp NO_LIBDW_DWARF_UNWIND=1 - make_no_demangle_O: cd . && make -f Makefile O=/tmp/tmp.yWNsd4jOsI DESTDIR=/tmp/tmp.Q7eA4kCvwL NO_DEMANGLE=1 - tarpkg: ./tests/perf-targz-src-pkg . - make -C <kernelsrc> tools/perf - make -C <kernelsrc>/tools perf OKGlad to see this. Thank you.