Subject: Re: [PATCH 05/53] perf tools: Test correct path of perf in build-test

From: Arnaldo Carvalho de Melo <[email-masked]>
Date: Tue, 12 Jan 2016 11:08:06 -0300

Em Tue, Jan 12, 2016 at 03:16:08PM +0800, Wangnan (F) escreveu:
> 
> 
> On 2016/1/12 6:39, Arnaldo Carvalho de Melo wrote:
> >Em Mon, Jan 11, 2016 at 07:39:04PM -0300, Arnaldo Carvalho de Melo escreveu:
> >>Em Mon, Jan 11, 2016 at 07:06:18PM -0300, Arnaldo Carvalho de Melo escreveu:
> >>>Em Mon, Jan 11, 2016 at 12:24:56PM -0300, Arnaldo Carvalho de Melo escreveu:
> >>>>Em Mon, Jan 11, 2016 at 01:47:56PM +0000, Wang Nan escreveu:
> >>>>>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 directory
> 
> This 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 :-\
 
> >>>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
> >OK
> Glad to see this.
> 
> Thank you.