lkml.org 
[lkml]   [2013]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [GIT PULL] tools/perf/build: Speed up the perf build system

* Arnaldo Carvalho de Melo <acme@ghostprotocols.net> wrote:

> Em Wed, Oct 09, 2013 at 09:01:49AM +0200, Ingo Molnar escreveu:
> > Arnaldo,
> >
> > Please pull the tools/perf/build git tree from:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tmp.tools/perf/build
> >
> > # HEAD: 165108a92fc554d51e73b143b69b77e7c278da78 tools/perf/build: Clean up feature_print_code()
> >
> > This tree contains the build system speedup series described at:
> >
> > https://lkml.org/lkml/2013/10/7/199
> >
> > Reviewed by David Ahern and Jiri Olsa (thanks guys!).
>
> One problem I just noticed, and that is not preventing me from merging
> this now, as it has a (obvious) workaround:
>
> If I try using O= I better make sure the directory it points to exists:
>
> [acme@sandy linux]$ ls -la tools/perf/*.o tools/perf/util/*.o
> ls: cannot access tools/perf/*.o: No such file or directory
> ls: cannot access tools/perf/util/*.o: No such file or directory
> [acme@sandy linux]$ mkdir -p /tmp/build/perf/
> [acme@sandy linux]$ time make O=/tmp/build/perf -C tools/perf/ install-bin
> make: Entering directory `/home/acme/git/linux/tools/perf'
> BUILD: Doing 'make -j8' parallel build
>
> Auto-detecting system features:
> ... backtrace: [ on ]
> ... dwarf: [ on ]
> <SNIP>
> make: Leaving directory `/home/acme/git/linux/tools/perf'
>
> real 0m2.751s
> user 0m4.270s
> sys 0m1.240s
> [acme@sandy linux]$ ls -la tools/perf/*.o tools/perf/util/*.o
> ls: cannot access tools/perf/*.o: No such file or directory
> ls: cannot access tools/perf/util/*.o: No such file or directory
> [acme@sandy linux]$ ls -la /tmp/build/perf/perf
> -rwxrwxr-x. 1 acme acme 9791281 Oct 9 11:32 /tmp/build/perf/perf
> [acme@sandy linux]$
>
> ---------------------------------------------------------------------------------
>
> Works as expected, but if I do:
>
> [acme@sandy linux]$ rm -rf /tmp/build
> [acme@sandy linux]$ time make O=/tmp/build/perf -C tools/perf/ install-bin
> make: Entering directory `/home/acme/git/linux/tools/perf'
> BUILD: Doing 'make -j8' parallel build
>
> Auto-detecting system features:
> ... backtrace: [ on ]
> <SNIP>
> make: Leaving directory `/home/acme/git/linux/tools/perf'
>
> real 0m2.715s
> user 0m4.118s
> sys 0m1.204s
> [acme@sandy linux]$ ls -la tools/perf/*.o tools/perf/util/*.o | wc -l
> 94
> [acme@sandy linux]$ ls -la /tmp/build
> ls: cannot access /tmp/build: No such file or directory
> [acme@sandy linux]$
>
> ---------------------------------------------------------------------------------
>
> It silently ignores the O= target, as it doesn't exists.
>
> Previous, expected behaviour is for the build process to stop,
> complaining that the target directory doesn't exists.

Yeah. So the reproducer for me is:

rm -rf /tmp/build
mkdir -p /tmp/build/perf
make O=/tmp/build/perf -C tools/perf/ install-bin
rm -rf /tmp/build
make O=/tmp/build/perf -C tools/perf/ install-bin

the second install-bin should fail, and on the old tree it fails correctly
- but with the new tree it pretends that it succeeds.

Looking into it.

Thanks,

Ingo


\
 
 \ /
  Last update: 2013-10-09 17:21    [W:0.141 / U:0.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site