Makefile: use smaller dictionary size for xz module compression
authorTor Vic <torvic9@mailbox.org>
Wed, 16 Dec 2020 12:58:02 +0000 (13:58 +0100)
committerMasahiro Yamada <masahiroy@kernel.org>
Thu, 11 Feb 2021 20:11:19 +0000 (05:11 +0900)
By default, xz without parameters uses a dictionary size of 8 MB.
However, most modules are much smaller than that.
The xz manpage states that 'increasing dictionary size usually improves
compression ratio, but a dictionary bigger than the uncompressed file
is waste of memory'.
Use a dictionary size of 2 MB for module compression, resulting in
slightly higher compression speed while still maintaining a good
compression ratio.

Signed-off-by: Tor Vic <torvic9@mailbox.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Makefile

index ade44ac..f0cfcc7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1053,7 +1053,7 @@ ifdef CONFIG_MODULE_COMPRESS
     mod_compress_cmd = $(KGZIP) -n -f
   endif # CONFIG_MODULE_COMPRESS_GZIP
   ifdef CONFIG_MODULE_COMPRESS_XZ
-    mod_compress_cmd = $(XZ) -f
+    mod_compress_cmd = $(XZ) --lzma2=dict=2MiB -f
   endif # CONFIG_MODULE_COMPRESS_XZ
 endif # CONFIG_MODULE_COMPRESS
 export mod_compress_cmd