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.