summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel
diff options
context:
space:
mode:
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>2018-07-06 09:48:36 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-07-30 00:02:52 +0100
commit305711f10aa2c3ce03b9df9003f9c5e80345931e (patch)
tree7f9c744650f0b4341630b51ebaf32852dc5809f9 /meta/recipes-kernel
parent651d49ee0269595e45ad9319c4c8a34325d0e71f (diff)
downloadpoky-305711f10aa2c3ce03b9df9003f9c5e80345931e.tar.gz
perf: disable parallelism for 'make clean'
Whenever perf got rebuilt, I was consistently getting errors such as | find: '[...]/perf/1.0-r9/perf-1.0/plugin_mac80211.so': No such file or directory | find: '[...]/perf/1.0-r9/perf-1.0/plugin_mac80211.so': No such file or directory | find: find: '[...]/perf/1.0-r9/perf-1.0/libtraceevent.a''[...]/perf/1.0-r9/perf-1.0/libtraceevent.a': No such file or directory: No such file or directory | [...] | find: cannot delete '/mnt/xfs/devel/pil/yocto/tmp-glibc/work/wandboard-oe-linux-gnueabi/perf/1.0-r9/perf-1.0/util/.pstack.o.cmd': No such file or directory breaking the whole build. The root cause seems to be that the implicit 'make clean' done during do_configure ends up running in parallel, and thus multiple find commands attempt to stat and/or delete the same file. A patch disabling parallelism for the clean target has been ack'ed upstream (lkml.kernel.org/r/20180705134955.GB3686@krava), but it should be harmless to pass JOBS=1 even with a fixed kernel. This can be removed if and when all relevant -stable kernels have that patch. (From OE-Core rev: bb58203b668df42fd08c2e5fa4a172cf63e37369) (From OE-Core rev: d12722681a4c13c1a6bc9c965cc43c4544ce7aa9) Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel')
-rw-r--r--meta/recipes-kernel/perf/perf.bb7
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 51f5597eb9..90bbed25c7 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -97,6 +97,13 @@ EXTRA_OEMAKE += "\
97 'infodir=${@os.path.relpath(infodir, prefix)}' \ 97 'infodir=${@os.path.relpath(infodir, prefix)}' \
98" 98"
99 99
100# During do_configure, we might run a 'make clean'. That often breaks
101# when done in parallel, so disable parallelism for do_configure. Note
102# that it has to be done this way rather than by passing -j1, since
103# perf's build system by default ignores any -j argument, but does
104# honour a JOBS variable.
105EXTRA_OEMAKE_append_task-configure = " JOBS=1"
106
100PERF_SRC ?= "Makefile \ 107PERF_SRC ?= "Makefile \
101 include \ 108 include \
102 tools/arch \ 109 tools/arch \