summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorDaniele Buono2021-03-05 10:23:26 +0100
committerAlex Bennée2021-03-10 16:34:11 +0100
commite6d27a9c0db828c1fa2854eddefaab757b1e8447 (patch)
tree885467362305b25612fc83bbc8ae89df26271938 /.gitlab-ci.yml
parenttests/docker: add a test-tcg for building then running check-tcg (diff)
downloadqemu-e6d27a9c0db828c1fa2854eddefaab757b1e8447.tar.gz
qemu-e6d27a9c0db828c1fa2854eddefaab757b1e8447.tar.xz
qemu-e6d27a9c0db828c1fa2854eddefaab757b1e8447.zip
gitlab-ci.yml: Allow custom # of parallel linkers
Define a new variable LD_JOBS, that can be used to select the maximum number of linking jobs to be executed in parallel. If the variable is not defined, maintain the default given by make -j Currently, make parallelism at build time is based on the number of cpus available. This doesn't work well with LTO at linking, because with LTO the linker has to load in memory all the intermediate object files for optimization. The end result is that, if the gitlab runner happens to run two linking processes at the same time, the job will fail with an out-of-memory error, This patch leverages the ability to maintain high parallelism at compile time, but limit the number of linkers executed in parallel. Signed-off-by: Daniele Buono <dbuono@linux.vnet.ibm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20210304030948.9367-2-dbuono@linux.vnet.ibm.com> Message-Id: <20210305092328.31792-8-alex.bennee@linaro.org>
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml4
1 files changed, 4 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8b6d495288..814f51873f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,6 +27,10 @@ include:
else
../configure --enable-werror $CONFIGURE_ARGS ;
fi || { cat config.log meson-logs/meson-log.txt && exit 1; }
+ - if test -n "$LD_JOBS";
+ then
+ meson configure . -Dbackend_max_links="$LD_JOBS" ;
+ fi || exit 1;
- make -j"$JOBS"
- if test -n "$MAKE_CHECK_ARGS";
then