From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754225AbcAOOzS (ORCPT ); Fri, 15 Jan 2016 09:55:18 -0500 Received: from mail.kernel.org ([198.145.29.136]:52001 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754138AbcAOOzO (ORCPT ); Fri, 15 Jan 2016 09:55:14 -0500 Date: Fri, 15 Jan 2016 11:54:45 -0300 From: Arnaldo Carvalho de Melo To: Jiri Olsa Cc: Wang Nan , linux-kernel@vger.kernel.org, pi3orama@163.com, lizefan@huawei.com Subject: Re: [PATCH v3 0/9] perf build: Make build-test faster Message-ID: <20160115145445.GZ18367@kernel.org> References: <1452830421-77757-1-git-send-email-wangnan0@huawei.com> <20160115102005.GB4045@krava.brq.redhat.com> <20160115143616.GY18367@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160115143616.GY18367@kernel.org> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Fri, Jan 15, 2016 at 11:36:16AM -0300, Arnaldo Carvalho de Melo escreveu: > Em Fri, Jan 15, 2016 at 11:20:05AM +0100, Jiri Olsa escreveu: > > On Fri, Jan 15, 2016 at 04:00:12AM +0000, Wang Nan wrote: > > > Utilise Jiri's feature-dump make target to avoid make build-test check > > > features too many times. > > > > > > v2 -> v3: add $(O_OPT) to 'make clean' to ensure the correctness of > > > config-clean. > > > > > > Jiri Olsa (2): > > > perf build: Add feature-dump target > > > perf build: Introduce FEATURES_DUMP make variable > > > > > > Wang Nan (7): > > > perf build: Set parallel making options build-test > > > perf build: Pass O option to Makefile.perf in build-test > > > perf build: Test correct path of perf in build-test > > > perf build: Pass O option to kernel makefile in build-test > > > tools build: Allow subprojects select all feature checkers > > > perf build: Select all feature checkers for feature-dump > > > perf build: Use feature dump file for build-test > > > > > > tools/build/Makefile.feature | 21 ++++++++++- > > > tools/perf/Makefile.perf | 34 +++++++++++++++++- > > > tools/perf/config/Makefile | 4 +++ > > > tools/perf/tests/make | 86 ++++++++++++++++++++++++++++++++++++-------- > > > 4 files changed, 128 insertions(+), 17 deletions(-) > > > > got error on: > > > > [jolsa@krava perf]$ make -f tests/make > > Testing Makefile > > readlink: missing operand > > Try 'readlink --help' for more information. > > - /BUILD_TEST_FEATURE_DUMP: cd . && make FEATURE_DUMP_COPY=/BUILD_TEST_FEATURE_DUMP feature-dump > > cd . && make FEATURE_DUMP_COPY=/BUILD_TEST_FEATURE_DUMP feature-dump > > tests/make:329: recipe for target '/BUILD_TEST_FEATURE_DUMP' failed > > make[1]: *** [/BUILD_TEST_FEATURE_DUMP] Error 2 > > tests/make:7: recipe for target 'all' failed > > make: *** [all] Error 2 > > You mean with all patches applied, right? I haven't got that far, first > and second patches are ok by now, I'm failing at patch 3, checking if > setting up the python stuff to honour O= is in a later patch... > > [acme@zoo linux]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ; make -C tools/perf O=/tmp/build/perf build-test > make: Entering directory '/home/git/linux/tools/perf' > Testing Makefile > - make_no_ui: cd . && make -f Makefile DESTDIR=/tmp/tmp.RYVWn1yMBU NO_NEWT=1 NO_SLANG=1 NO_GTK2=1 > - make_tags: cd . && make -f Makefile DESTDIR=/tmp/tmp.iNjVFs9Eje tags - make_python_perf_so: cd . && make -f Makefile DESTDIR=/tmp/tmp.mvHDSUV1pl python/perf.so > cd . && make -f Makefile DESTDIR=/tmp/tmp.mvHDSUV1pl python/perf.so > BUILD: Doing 'make -j4' parallel build > > Auto-detecting system features: > ... dwarf: [ on ] > ... glibc: [ on ] > ... gtk2: [ on ] > ... libaudit: [ on ] > ... libbfd: [ on ] > ... libelf: [ on ] > ... libnuma: [ on ] > ... numa_num_possible_cpus: [ on ] > ... libperl: [ on ] > ... libpython: [ on ] > ... libslang: [ on ] > ... libunwind: [ on ] > ... libdw-dwarf-unwind: [ on ] > ... zlib: [ on ] > ... lzma: [ on ] > ... get_cpuid: [ on ] > ... bpf: [ on ] > > make[4]: Nothing to be done for 'python/perf.so'. > test: test -f /tmp/build/perf/python/perf.so > tests/make:272: recipe for target 'make_python_perf_so' failed > make[2]: *** [make_python_perf_so] Error 1 > tests/make:7: recipe for target 'all' failed > make[1]: *** [all] Error 2 > Makefile:81: recipe for target 'build-test' failed > make: *** [build-test] Error 2 > make: Leaving directory '/home/git/linux/tools/perf' > [acme@zoo linux]$ find . -name "*.so" > ./tools/perf/python_ext_build/lib/perf.so > ./tools/perf/python/perf.so > [acme@zoo linux]$ > > I.e. the test -f follows O=, but the process to generate python/perf.so > doesn't and ends up pollutting the source tree. But if I try to run it directly, it works: [acme@zoo linux]$ make -C tools clean > /dev/null [acme@zoo linux]$ find tools/ -name "*.so" [acme@zoo linux]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ; make -C tools/perf O=/tmp/build/perf -f tests/make make_python_perf_so make: Entering directory '/home/git/linux/tools/perf' Testing Makefile make[1]: Entering directory '/home/git/linux/tools/perf' - make_python_perf_so: cd . && make -f Makefile DESTDIR=/tmp/tmp.9yCzYN33GK python/perf.so make[1]: Leaving directory '/home/git/linux/tools/perf' make: Leaving directory '/home/git/linux/tools/perf' [acme@zoo linux]$ find tools/ -name "*.so" [acme@zoo linux]$ ls -la /tmp/build/perf/python/perf.so -rwxrwxr-x. 1 acme acme 1398965 Jan 15 11:41 /tmp/build/perf/python/perf.so [acme@zoo linux]$ /me scratches head, does another 'make -C tools clean' and tries again build-test + O=