diff mbox series

Makefile: use smaller dictionary size for xz module compression

Message ID 924931182.70312.1608123482150@office.mailbox.org (mailing list archive)
State New
Headers show
Series Makefile: use smaller dictionary size for xz module compression | expand

Commit Message

torvic9@mailbox.org Dec. 16, 2020, 12:58 p.m. UTC
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>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Masahiro Yamada Dec. 21, 2020, 11:17 a.m. UTC | #1
On Wed, Dec 16, 2020 at 9:59 PM <torvic9@mailbox.org> wrote:
>
> 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>
> ---

Applied to linux-kbuild. Thanks.


>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 076d4e6b9..f9a6d0a4d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1058,7 +1058,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
> --
> 2.29.2
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 076d4e6b9..f9a6d0a4d 100644
--- a/Makefile
+++ b/Makefile
@@ -1058,7 +1058,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