Re: [GIT PULL 0/7] perf/core improvements and fixes

From: Jiri Olsa
Date: Tue Nov 24 2015 - 04:26:29 EST


On Tue, Nov 24, 2015 at 09:42:10AM +0100, Ingo Molnar wrote:

SNIP

> >
> > >
> > > Occasionally it also triggers a build failure:
> > >
> > > CC plugin_kvm.o
> > > CC arch/common.o
> > > CC util/db-export.o
> > > LD plugin_kmem-in.o
> > > fixdep: error opening depfile: ./.plugin_kmem.o.d: No such file or directory
> > > /home/mingo/tip/tools/build/Makefile.build:77: recipe for target 'plugin_kmem.o'
> > > failed
> > > make[3]: *** [plugin_kmem.o] Error 2
> > > Makefile:189: recipe for target 'plugin_kmem-in.o' failed
> > > make[2]: *** [plugin_kmem-in.o] Error 2
> > > Makefile.perf:424: recipe for target 'install-traceevent-plugins' failed
> > > make[1]: *** [install-traceevent-plugins] Error 2
> > > make[1]: *** Waiting for unfinished jobs....
> > >
> > > that too seems to be a result of unwanted, over-eager parallelism.
> >
> > hm, haven't seen that one for long time now ;-) will check
>
> So maybe that's a side effect, because I do:
>
> make clean install
>
> and maybe 'clean' happens in parallel with 'install'?

the fixdep error indicates that it was invoked after building object
plugin_kmem-in.o, but it could not find its dep file (.plugin_kmem-in.o.d)
which is built within the object build.. so seems like race with clean
or other build of the same object

however ;-)

The 'Makefile' processing itself isn't paralel and will exec
clean and install targets serialized:

---
[root@intel-wildcatpass-07 perf]# make clean install
make -f Makefile.perf --no-print-directory -j88 O= clean
CLEAN libtraceevent
CLEAN libapi
CLEAN libbpf
CLEAN config
CLEAN core-objs
CLEAN core-progs
CLEAN core-gen
SUBDIR Documentation
CLEAN Documentation
CLEAN python
BUILD: Doing 'make -j88' parallel build
make -f Makefile.perf --no-print-directory -j88 O= install

Auto-detecting system features:
... dwarf: [ on ]
... glibc: [ on ]
---

I can't make that failure on 88 cpus server, I assume you can
reproduce this fairly easily?

Could you please share failing build output from:
$ make V=1 clean install

thanks,
jirka

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/