[oe-commits] [openembedded-core] 03/18: perf: disable parallelism for 'make clean'

git at git.openembedded.org git at git.openembedded.org
Wed Jul 11 12:49:00 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit ed95c07c17f27d61d9559556c1c842bd1a91ca30
Author: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
AuthorDate: Fri Jul 6 09:48:36 2018 +0200

    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 at 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.
    
    Signed-off-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/recipes-kernel/perf/perf.bb | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 51f5597..90bbed2 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -97,6 +97,13 @@ EXTRA_OEMAKE += "\
     'infodir=${@os.path.relpath(infodir, prefix)}' \
 "
 
+# During do_configure, we might run a 'make clean'. That often breaks
+# when done in parallel, so disable parallelism for do_configure. Note
+# that it has to be done this way rather than by passing -j1, since
+# perf's build system by default ignores any -j argument, but does
+# honour a JOBS variable.
+EXTRA_OEMAKE_append_task-configure = " JOBS=1"
+
 PERF_SRC ?= "Makefile \
              include \
              tools/arch \

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list