Re: [PATCH v3 12/12] selftests/nolibc: speed up some targets with multiple jobs

Thomas Weißschuh
2023-07-29T06:44:39Z

On 2023-07-28 04:35:01+0800, Zhangjin Wu wrote:
> The sysroot install and kernel build targets are time cost, let's use
> -j<N> to parallelize them with multiple jobs.
>
> Signed-off-by: Zhangjin Wu <falcon@tinylab.org>
> ---
> tools/testing/selftests/nolibc/Makefile | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile
> index ad2538ec5eb0..1b45c22f9a94 100644
> --- a/tools/testing/selftests/nolibc/Makefile
> +++ b/tools/testing/selftests/nolibc/Makefile
> @@ -171,7 +171,7 @@ PHONY = sysroot/$(ARCH)/include
> sysroot/$(ARCH)/include:
> $(Q)rm -rf sysroot/$(ARCH) sysroot/sysroot
> $(QUIET_MKDIR)mkdir -p sysroot
> - $(Q)$(MAKE) -C ../../../include/nolibc ARCH=$(ARCH) OUTPUT=$(CURDIR)/sysroot/ headers_standalone
> + $(Q)$(MAKE) -j$$(nproc) -C ../../../include/nolibc ARCH=$(ARCH) OUTPUT=$(CURDIR)/sysroot/ headers_standalone

This should already work when the users specify -j on the make command
line themselves.
I'm not a fan of force-enabling it here.

> $(Q)mv sysroot/sysroot sysroot/$(ARCH)
>
> ifneq ($(NOLIBC_SYSROOT),0)
> @@ -211,7 +211,7 @@ initramfs: nolibc-test
> $(Q)cp nolibc-test initramfs/init
>
> # common macros for kernel targets
> -MAKE_KERNEL = $(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE)
> +MAKE_KERNEL = $(MAKE) -j$$(nproc) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE)
> KERNEL_CONFIG = $(objtree)/.config
> KERNEL_IMAGE = $(objtree)/$(IMAGE)
>
> --
> 2.25.1
>