diff options
authorRasmus Villemoes <>2018-07-06 07:48:36 (GMT)
committerRichard Purdie <>2018-08-15 09:22:46 (GMT)
commitb332766553a4adc1516518ce083fa64456fc2c01 (patch)
parent58356f3322b2fcad6b4fbae6775ed220739d24cd (diff)
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/': No such file or directory | find: '[...]/perf/1.0-r9/perf-1.0/': 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 (, 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) (From OE-Core rev: ad21736cf1be017af4b211b5cdd577cdf28dee20) Signed-off-by: Rasmus Villemoes <> Signed-off-by: Ross Burton <> Signed-off-by: Richard Purdie <> Signed-off-by: Armin Kuster <> Signed-off-by: Richard Purdie <> Signed-off-by: Armin Kuster <> Signed-off-by: Richard Purdie <>
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/recipes-kernel/perf/ b/meta/recipes-kernel/perf/
index 92e7d96..6fd23d6 100644
--- a/meta/recipes-kernel/perf/
+++ b/meta/recipes-kernel/perf/
@@ -95,6 +95,13 @@ EXTRA_OEMAKE += "\
95 'infodir=${@os.path.relpath(infodir, prefix)}' \ 95 'infodir=${@os.path.relpath(infodir, prefix)}' \
96" 96"
97 97
98# During do_configure, we might run a 'make clean'. That often breaks
99# when done in parallel, so disable parallelism for do_configure. Note
100# that it has to be done this way rather than by passing -j1, since
101# perf's build system by default ignores any -j argument, but does
102# honour a JOBS variable.
103EXTRA_OEMAKE_append_task-configure = " JOBS=1"
98PERF_SRC ?= "Makefile \ 105PERF_SRC ?= "Makefile \
99 include \ 106 include \
100 tools/arch \ 107 tools/arch \