Re: [PATCH] kbuild: modinst: Enable multithread xz compression

From: Nathan Chancellor
Date: Thu Feb 23 2023 - 15:16:11 EST


On Wed, Feb 22, 2023 at 09:16:07PM -0300, André Almeida wrote:
> As it's done for zstd compression, enable multithread compression for
> xz to speed up module installation.
>
> Signed-off-by: André Almeida <andrealmeid@xxxxxxxxxx>

This seems reasonable to me.

Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>

If for some reason Masahiro does not want to take this, you could set
XZ_OPT=-T0 in your build environment, which should accomplish the same
thing.

> ---
>
> On my setup xz is a bottleneck during module installation. Here are the
> numbers to install it in a local directory, before and after this patch:
>
> $ time make INSTALL_MOD_PATH=/home/tonyk/codes/.kernel_deploy/ modules_install -j16
> Executed in 100.08 secs
>
> $ time make INSTALL_MOD_PATH=/home/tonyk/codes/.kernel_deploy/ modules_install -j16
> Executed in 28.60 secs
> ---
> scripts/Makefile.modinst | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
> index 4815a8e32227..28dcc523d2ee 100644
> --- a/scripts/Makefile.modinst
> +++ b/scripts/Makefile.modinst
> @@ -99,7 +99,7 @@ endif
> quiet_cmd_gzip = GZIP $@
> cmd_gzip = $(KGZIP) -n -f $<
> quiet_cmd_xz = XZ $@
> - cmd_xz = $(XZ) --lzma2=dict=2MiB -f $<
> + cmd_xz = $(XZ) --lzma2=dict=2MiB -f -T0 $<
> quiet_cmd_zstd = ZSTD $@
> cmd_zstd = $(ZSTD) -T0 --rm -f -q $<
>
> --
> 2.39.2
>