[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/18] gitlab-ci.yml: Allow custom # of parallel linkers
From: |
Alex Bennée |
Subject: |
[PULL 06/18] gitlab-ci.yml: Allow custom # of parallel linkers |
Date: |
Mon, 8 Mar 2021 13:50:52 +0000 |
From: Daniele Buono <dbuono@linux.vnet.ibm.com>
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>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c2c5196b8b..1ea944eb91 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
--
2.20.1
- [PULL 00/18] testing, docs, semihosting move and guest-loader, Alex Bennée, 2021/03/08
- [PULL 01/18] docs/system: add a gentle prompt for the complexity to come, Alex Bennée, 2021/03/08
- [PULL 05/18] gitlab: add build-user-hexagon test, Alex Bennée, 2021/03/08
- [PULL 02/18] tests/docker: add a test-tcg for building then running check-tcg, Alex Bennée, 2021/03/08
- [PULL 04/18] tests/tcg: Use Hexagon Docker image, Alex Bennée, 2021/03/08
- [PULL 03/18] docker: Add Hexagon image, Alex Bennée, 2021/03/08
- [PULL 07/18] gitlab-ci.yml: Add jobs to test CFI flags, Alex Bennée, 2021/03/08
- [PULL 06/18] gitlab-ci.yml: Allow custom # of parallel linkers,
Alex Bennée <=
- [PULL 11/18] hw/riscv: migrate fdt field to generic MachineState, Alex Bennée, 2021/03/08
- [PULL 14/18] docs: move generic-loader documentation into the main manual, Alex Bennée, 2021/03/08
- [PULL 08/18] tests/docker: Use --arch-only when building Debian cross image, Alex Bennée, 2021/03/08
- [PULL 09/18] .editorconfig: update the automatic mode setting for Emacs, Alex Bennée, 2021/03/08
- [PULL 10/18] hw/board: promote fdt from ARM VirtMachineState to MachineState, Alex Bennée, 2021/03/08
- [PULL 13/18] hw/core: implement a guest-loader to support static hypervisor guests, Alex Bennée, 2021/03/08