Skip to content
Snippets Groups Projects
  1. Nov 21, 2022
    • Nick Desaulniers's avatar
      Makefile.debug: support for -gz=zstd · 9f8fe647
      Nick Desaulniers authored
      Make DEBUG_INFO_COMPRESSED a choice; DEBUG_INFO_COMPRESSED_NONE is the
      default, DEBUG_INFO_COMPRESSED_ZLIB uses zlib,
      DEBUG_INFO_COMPRESSED_ZSTD uses zstd.
      
      This renames the existing KConfig option DEBUG_INFO_COMPRESSED to
      DEBUG_INFO_COMPRESSED_ZLIB so users upgrading may need to reset the new
      Kconfigs.
      
      Some quick N=1 measurements with du, /usr/bin/time -v, and bloaty:
      
      clang-16, x86_64 defconfig plus
      CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO_COMPRESSED_NONE=y:
      Elapsed (wall clock) time (h:mm:ss or m:ss): 0:55.43
      488M vmlinux
      27.6%   136Mi   0.0%       0    .debug_info
       6.1%  30.2Mi   0.0%       0    .debug_str_offsets
       3.5%  17.2Mi   0.0%       0    .debug_line
       3.3%  16.3Mi   0.0%       0    .debug_loclists
       0.9%  4.62Mi   0.0%       0    .debug_str
      
      clang-16, x86_64 defconfig plus
      CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO_COMPRESSED_ZLIB=y:
      Elapsed (wall clock) time (h:mm:ss or m:ss): 1:00.35
      385M vmlinux
      21.8%  85.4Mi   0.0%       0    .debug_info
       2.1%  8.26Mi   0.0%       0    .debug_str_offsets
       2.1%  8.24Mi   0.0%       0    .debug_loclists
       1.9%  7.48Mi   0.0%       0    .debug_line
       0.5%  1.94Mi   0.0%       0    .debug_str
      
      clang-16, x86_64 defconfig plus
      CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO_COMPRESSED_ZSTD=y:
      Elapsed (wall clock) time (h:mm:ss or m:ss): 0:59.69
      373M vmlinux
      21.4%  81.4Mi   0.0%       0    .debug_info
       2.3%  8.85Mi   0.0%       0    .debug_loclists
       1.5%  5.71Mi   0.0%       0    .debug_line
       0.5%  1.95Mi   0.0%       0    .debug_str_offsets
       0.4%  1.62Mi   0.0%       0    .debug_str
      
      That's only a 3.11% overall binary size savings over zlib, but at no
      performance regression.
      
      Link: https://maskray.me/blog/2022-09-09-zstd-compressed-debug-sections
      Link: https://maskray.me/blog/2022-01-23-compressed-debug-sections
      
      
      Suggested-by: default avatarSedat Dilek (DHL Supply Chain) <sedat.dilek@dhl.com>
      Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      9f8fe647
  2. Sep 28, 2022
  3. Sep 24, 2022
  4. Oct 24, 2021
Loading