diff options
author | Rasmus Villemoes <rasmus.villemoes@prevas.dk> | 2018-07-06 09:48:36 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-08-15 10:22:46 +0100 |
commit | b332766553a4adc1516518ce083fa64456fc2c01 (patch) | |
tree | 0237a1a1a4824098622810fd43506c1f18d8fcbe /meta | |
parent | 58356f3322b2fcad6b4fbae6775ed220739d24cd (diff) | |
download | poky-b332766553a4adc1516518ce083fa64456fc2c01.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)
(From OE-Core rev: ad21736cf1be017af4b211b5cdd577cdf28dee20)
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>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-kernel/perf/perf.bb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index 92e7d96504..6fd23d63e3 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb | |||
@@ -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. | ||
103 | EXTRA_OEMAKE_append_task-configure = " JOBS=1" | ||
104 | |||
98 | PERF_SRC ?= "Makefile \ | 105 | PERF_SRC ?= "Makefile \ |
99 | include \ | 106 | include \ |
100 | tools/arch \ | 107 | tools/arch \ |