Re: [PATCH] lib: zstd: update to latest Linux zstd 1.5.7

Cole Munz <[email protected]>
Newsgroups org.u-boot-project.lists.u-boot
Message-ID <[email protected]>
Alexey asked which boards actually carry this and what it costs them, so
here is the data.

Nothing selects ZSTD except fs/btrfs/Kconfig, and nothing selects FS_BTRFS
except CMD_BTRFS in cmd/Kconfig. So a board pays for zstd only if its
defconfig sets CONFIG_ZSTD, CONFIG_FS_BTRFS or CONFIG_CMD_BTRFS, either
directly or through an included .config fragment. Resolving those includes
transitively, that is 41 of 1550 defconfigs:

  am62px_evm_a53                      am62x_evm_a53
  am64x_evm_a53                       dh_imx6
  hc2910_2aghd05                      imx6_dhcom_drc02
  imx6_dhcom_pdk2                     imx6_dhcom_picoitx
  imx8mm-mx8menlo                     imx8mm_data_modul_edm_sbc
  imx8mp_data_modul_edm_sbc           imx8mp_dhcom_drc02
  imx8mp_dhcom_pdk2                   imx8mp_dhcom_pdk3
  imx8mp_dhcom_picoitx                kontron-osm-s-mx8mp
  kontron-osm-s-mx93                  kontron-sl-mx8mm
  m53menlo                            mvebu_espressobin-88f3720
  mvebu_espressobin_ultra-88f3720     sandbox
  sandbox64                           sandbox_flattree
  sandbox_noinst                      sandbox_spl
  sandbox_vpl                         stm32mp13_dhcor
  stm32mp15_dhcom_basic               stm32mp15_dhcom_drc02_basic
  stm32mp15_dhcom_pdk2_basic          stm32mp15_dhcom_picoitx_basic
  stm32mp15_dhcor_avenger96_basic     stm32mp15_dhcor_basic
  stm32mp15_dhcor_drc_compact_basic   stm32mp15_dhcor_testbench_basic
  th1520_lpi4a                        turris_1x_nor
  turris_1x_sdcard                    turris_mox
  turris_omnia

Text growth, measured base vs this patch:

  turris_mox                  +1920
  mvebu_espressobin-88f3720   +1920
  am62x_evm_a53               +2072
  kontron-sl-mx8mm            +2072
  imx8mp_dhcom_pdk2           +2072
  sandbox                     +2888

data and bss are unchanged on every one of them. ZSTD_LIB_MINIFY is default y
under ZSTD and none of the affected defconfigs turn it off, so those are the
numbers boards actually ship. The three i.MX8MP/AM62x figures come from the
linked ELF; those builds stop later at binman for want of vendor blobs I do
not have, with no compile errors.

On a board without zstd there is no change at all. I built qemu_arm64 at the
parent commit and at this patch with SOURCE_DATE_EPOCH pinned: .text and
.text_rest are byte for byte identical.

It is also not in xPL. SPL_ZSTD is a separate symbol, no defconfig enables it
and nothing selects it, so this only lands in U-Boot proper.

I did not measure the RISC-V, PowerPC or 32-bit ARM boards in that list, as I
have no toolchain for them here.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.