Zstd offers a very fine-grained control of compression ratios. Add a Kconfig option that allows setting the desired compression level for module compression. Based on Masahiro's linux-kbuild. Signed-off-by: Tor Vic <torvic9@xxxxxxxxxxx> Tested-by: Piotr Gorski <lucjan.lucjanov@xxxxxxxxx> --- init/Kconfig | 8 ++++++++ scripts/Makefile.modinst | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/init/Kconfig b/init/Kconfig index b5744d32c..15bb02c24 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -2275,6 +2275,14 @@ config MODULE_COMPRESS_ZSTD endchoice +config MODULE_COMPRESS_ZSTD_LEVEL + int "Compression level (1-19)" + depends on MODULE_COMPRESS_ZSTD + range 1 19 + default 3 + help + Compression level used by zstd for compressing modules. + config MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS bool "Allow loading of modules with missing namespace imports" help diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst index ff9b09e4c..0a0db2278 100644 --- a/scripts/Makefile.modinst +++ b/scripts/Makefile.modinst @@ -97,7 +97,7 @@ quiet_cmd_gzip = GZIP $@ quiet_cmd_xz = XZ $@ cmd_xz = $(XZ) --lzma2=dict=2MiB -f $< quiet_cmd_zstd = ZSTD $@ - cmd_zstd = $(ZSTD) -T0 --rm -f -q $< + cmd_zstd = $(ZSTD) -$(CONFIG_MODULE_COMPRESS_ZSTD_LEVEL) -T0 --rm -f -q $< $(dst)/%.ko.gz: $(dst)/%.ko FORCE $(call cmd,gzip) -- 2.31.1