Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.kernel > #74144 > unrolled thread
| Started by | "Trent W. Buck" <trentbuck@gmail.com> |
|---|---|
| First post | 2022-01-10 01:10 +0100 |
| Last post | 2022-01-10 11:50 +0100 |
| Articles | 6 — 3 participants |
Back to article view | Back to linux.debian.kernel
Bug#1003427: COMPRESS=zstd and COMPRESS=lz4 hard-coded to bad COMPRESSLEVELs "Trent W. Buck" <trentbuck@gmail.com> - 2022-01-10 01:10 +0100
Bug#1003427: Acknowledgement (COMPRESS=zstd and COMPRESS=lz4 hard-coded to bad COMPRESSLEVELs) "Trent W. Buck" <trentbuck@gmail.com> - 2022-01-10 01:20 +0100
Bug#1003427: COMPRESS=zstd and COMPRESS=lz4 hard-coded to bad COMPRESSLEVELs Ben Hutchings <ben@decadent.org.uk> - 2022-01-10 02:00 +0100
Bug#1003427: COMPRESS=zstd and COMPRESS=lz4 hard-coded to bad COMPRESSLEVELs "Trent W. Buck" <trentbuck@gmail.com> - 2022-01-10 02:00 +0100
Bug#1003427: COMPRESS=zstd and COMPRESS=lz4 hard-coded to bad COMPRESSLEVELs Diederik de Haas <didi.debian@cknow.org> - 2022-01-10 11:20 +0100
Bug#1003427: COMPRESS=zstd and COMPRESS=lz4 hard-coded to bad COMPRESSLEVELs Diederik de Haas <didi.debian@cknow.org> - 2022-01-10 11:50 +0100
| From | "Trent W. Buck" <trentbuck@gmail.com> |
|---|---|
| Date | 2022-01-10 01:10 +0100 |
| Subject | Bug#1003427: COMPRESS=zstd and COMPRESS=lz4 hard-coded to bad COMPRESSLEVELs |
| Message-ID | <DDQq5-6Z9-1@gated-at.bofh.it> |
Package: initramfs-tools
Version: 0.140
Severity: wishlist
This is a vote for https://salsa.debian.org/kernel-team/initramfs-tools/-/merge_requests/52
I did this investigation 2 months ago, but AFAICT I forgot to push it to bugs.debian.org.
https://github.com/cyberitsolutions/bootstrap2020/blob/main/doc/NNNNN-ramdisk-compression.rst
Are pigz and xz *REALLY* the best choices for rd compression?
Surely lz4 and zstd are better tradeoffs?
Looking at [a Debian Live chroot]::
# apt install pixz pigz zstd lz4 xz-utils firmware-misc-nonfree
# for i in lz4 gzip xz zstd;
do
echo === $i === &&
echo COMPRESS=$i >/etc/initramfs-tools/conf.d/test &&
time update-initramfs -u -k all &&
ls -hl /boot/initrd.img-5.14.0-0.bpo.2-amd64;
done
COMPRESS real user sys size
lz4 0m10.125s 0m9.263s 0m1.242s 55M
gzip 0m5.724s 0m11.860s 0m1.123s 47M (really pigz)
xz 0m18.556s 1m15.392s 0m1.307s 32M
zstd 0m25.993s 1m20.542s 0m1.237s 35M
So:
• pigz greatly beats lz4 for wall-clock time.
pigz beats lz4 for size.
lz4 slightly beats pigz for CPU time (meh).
pigz is the best choice for --optimize=speed.
• xz slightly beats zstd for size.
xz beats zstd for wall-clock time.
xz slightly beats zstd for CPU time (meh).
xz is the best choice for --optimize=size.
BUT /usr/sbin/mkinitramfs makes these UNFAIR COMPARISONS.
It uses the HIGHEST compression level for lz4 and zstd, but
the DEFAULT (best tradeoff) compression for gzip and xz. ::
case "${compress}" in
gzip) # If we're doing a reproducible build, use gzip -n
if [ -n "${SOURCE_DATE_EPOCH}" ]; then
compress="gzip -n"
# Otherwise, substitute pigz if it's available
elif command -v pigz >/dev/null; then
compress=pigz
fi
;;
lz4) compress="lz4 -9 -l" ;;
zstd) compress="zstd -q -19 -T0" ;;
xz) compress="xz --check=crc32"
# If we're not doing a reproducible build, enable multithreading
test -z "${SOURCE_DATE_EPOCH}" && compress="$compress --threads=0"
;;
bzip2|lzma|lzop)
# no parameters needed
;;
*) echo "W: Unknown compression command ${compress}" >&2 ;;
esac
Just for my peace of mind, let's re-test this with the -9 and -19 removed::
# sed -rsi /usr/sbin/mkinitramfs -e 's/ -19 / /' -e 's/ -9 / /'
# apt install pixz pigz zstd lz4 xz-utils firmware-misc-nonfree
# for i in lz4 gzip xz zstd;
do
echo === $i === &&
echo COMPRESS=$i >/etc/initramfs-tools/conf.d/test &&
time update-initramfs -u -k all &&
ls -hl /boot/initrd.img-5.14.0-0.bpo.2-amd64;
done
COMPRESS real user sys size
lz4 0m5.070s 0m4.207s 0m1.209s 67M
gzip 0m5.572s 0m11.308s 0m1.197s 47M (really pigz)
xz 0m18.646s 1m14.563s 0m1.204s 32M
zstd 0m5.159s 0m5.334s 0m1.137s 43M
So:
• When lz4 isn't forced into a bad time/size tradeoff,
it's as fast as pigz, but much bigger. Fail.
• When zstd isn't forced into a bad time/size tradeoff,
it's a little smaller than pigz,
it's as fast as pigz, and
it's MUCH faster than xz.
Clear win.
It seems to me that the following changes should be made:
• Don't pass -19 to zstd.
• Don't pass -T0 to zstd when [ -n $SOURCE_DATE_EPOCH ] (same as other -T0 cases).
• Encourage people to switch to zstd? ;-)
-- Package-specific info:
-- initramfs sizes
-rw-r--r-- 1 root root 53M 2021-11-19 09:17 /boot/initrd.img-5.14.0-0.bpo.2-amd64
-- /proc/cmdline
root=ZFS=hera/hera quiet splash noresume initrd=\initrd.img-5.14.0-0.bpo.2-amd64
-- /proc/filesystems
fuseblk
ext3
ext2
ext4
vfat
-- lsmod
Module Size Used by
ccm 20480 6
rfcomm 90112 0
cmac 16384 7
algif_hash 16384 3
algif_skcipher 16384 3
af_alg 32768 14 algif_hash,algif_skcipher
bnep 28672 2
binfmt_misc 24576 1
intel_pmc_core_pltdrv 16384 0
intel_pmc_core 45056 0
snd_sof_pci_intel_cnl 16384 0
snd_sof_intel_hda_common 106496 1 snd_sof_pci_intel_cnl
x86_pkg_temp_thermal 20480 0
soundwire_intel 45056 1 snd_sof_intel_hda_common
intel_powerclamp 20480 0
coretemp 20480 0
soundwire_generic_allocation 16384 1 soundwire_intel
soundwire_cadence 36864 1 soundwire_intel
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common
kvm_intel 323584 0
snd_sof_pci 20480 2 snd_sof_intel_hda_common,snd_sof_pci_intel_cnl
snd_sof_xtensa_dsp 16384 1 snd_sof_intel_hda_common
snd_sof 147456 2 snd_sof_pci,snd_sof_intel_hda_common
soundwire_bus 94208 3 soundwire_intel,soundwire_generic_allocation,soundwire_cadence
snd_hda_codec_hdmi 73728 1
kvm 1019904 1 kvm_intel
snd_soc_skl 180224 0
snd_soc_hdac_hda 24576 2 snd_sof_intel_hda_common,snd_soc_skl
btusb 65536 0
snd_hda_ext_core 36864 4 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
snd_ctl_led 24576 0
btrtl 28672 1 btusb
wireguard 94208 0
snd_soc_sst_ipc 20480 1 snd_soc_skl
btbcm 20480 1 btusb
btintel 32768 1 btusb
snd_soc_sst_dsp 36864 1 snd_soc_skl
snd_soc_acpi_intel_match 53248 3 snd_sof_intel_hda_common,snd_soc_skl,snd_sof_pci_intel_cnl
irqbypass 16384 1 kvm
snd_soc_acpi 16384 3 snd_soc_acpi_intel_match,snd_sof_intel_hda_common,snd_soc_skl
snd_hda_codec_realtek 159744 1
libchacha20poly1305 16384 1 wireguard
ghash_clmulni_intel 16384 0
mei_hdcp 24576 0
snd_hda_codec_generic 98304 1 snd_hda_codec_realtek
intel_rapl_msr 20480 0
snd_soc_core 331776 5 soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl
bluetooth 757760 33 btrtl,btintel,btbcm,bnep,btusb,rfcomm
chacha_x86_64 28672 1 libchacha20poly1305
iwlmvm 352256 0
poly1305_x86_64 28672 1 libchacha20poly1305
libblake2s 16384 1 wireguard
snd_compress 32768 1 snd_soc_core
nls_ascii 16384 1
nls_cp437 20480 1
aesni_intel 380928 14
crypto_simd 16384 1 aesni_intel
blake2s_x86_64 20480 1 libblake2s
cryptd 24576 5 crypto_simd,ghash_clmulni_intel
snd_hda_intel 57344 2
vfat 20480 1
fat 86016 1 vfat
rapl 20480 0
curve25519_x86_64 36864 1 wireguard
snd_intel_dspcfg 28672 3 snd_hda_intel,snd_sof_intel_hda_common,snd_soc_skl
libcurve25519_generic 49152 2 curve25519_x86_64,wireguard
snd_intel_sdw_acpi 20480 2 snd_sof_intel_hda_common,snd_intel_dspcfg
jitterentropy_rng 16384 1
intel_cstate 20480 0
libchacha 16384 1 chacha_x86_64
mac80211 1048576 1 iwlmvm
libblake2s_generic 20480 1 blake2s_x86_64
snd_hda_codec 176128 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
libarc4 16384 1 mac80211
ip6_udp_tunnel 16384 1 wireguard
udp_tunnel 20480 1 wireguard
ext4 917504 1
sha512_ssse3 49152 1
intel_uncore 192512 0
snd_hda_core 110592 10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_soc_skl,snd_sof_intel_hda
serio_raw 20480 0
pcspkr 16384 0
efi_pstore 16384 0
sha512_generic 16384 1 sha512_ssse3
snd_hwdep 16384 1 snd_hda_codec
uvcvideo 118784 0
wmi_bmof 16384 0
iwlwifi 311296 1 iwlmvm
mbcache 16384 1 ext4
iTCO_wdt 16384 0
videobuf2_vmalloc 20480 1 uvcvideo
intel_pmc_bxt 16384 1 iTCO_wdt
intel_wmi_thunderbolt 20480 0
iTCO_vendor_support 16384 1 iTCO_wdt
videobuf2_memops 20480 1 videobuf2_vmalloc
snd_pcm 143360 10 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_soc_skl,snd_hda_core
jbd2 167936 1 ext4
videobuf2_v4l2 36864 1 uvcvideo
thinkpad_acpi 131072 0
cdc_ether 24576 0
videobuf2_common 69632 4 videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
usbnet 57344 1 cdc_ether
nft_reject_inet 16384 1
nf_reject_ipv4 16384 1 nft_reject_inet
nf_reject_ipv6 20480 1 nft_reject_inet
nft_reject 16384 1 nft_reject_inet
elan_i2c 53248 0
watchdog 28672 1 iTCO_wdt
snd_timer 49152 1 snd_pcm
ctr 16384 2
videodev 270336 3 videobuf2_v4l2,uvcvideo,videobuf2_common
joydev 28672 0
r8152 126976 0
nvram 16384 1 thinkpad_acpi
platform_profile 16384 1 thinkpad_acpi
ledtrig_audio 16384 4 snd_ctl_led,snd_hda_codec_generic,snd_sof,thinkpad_acpi
mc 65536 4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
drbg 40960 1
cfg80211 1024000 3 iwlmvm,iwlwifi,mac80211
mii 16384 2 usbnet,r8152
snd 110592 16 snd_ctl_led,snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,thinkpad_acpi,snd_soc_core,snd_pcm
processor_thermal_device_pci_legacy 16384 0
ansi_cprng 16384 0
ucsi_acpi 16384 0
typec_ucsi 49152 1 ucsi_acpi
processor_thermal_device 20480 1 processor_thermal_device_pci_legacy
roles 16384 1 typec_ucsi
nft_ct 20480 1
processor_thermal_rfim 16384 1 processor_thermal_device
mei_me 45056 1
processor_thermal_mbox 16384 2 processor_thermal_rfim,processor_thermal_device
processor_thermal_rapl 20480 1 processor_thermal_device
ecdh_generic 16384 2 bluetooth
intel_rapl_common 28672 2 intel_rapl_msr,processor_thermal_rapl
mei 151552 3 mei_hdcp,mei_me
intel_pch_thermal 20480 0
intel_soc_dts_iosf 20480 1 processor_thermal_device_pci_legacy
typec 65536 1 typec_ucsi
nf_conntrack 176128 1 nft_ct
soundcore 16384 2 snd_ctl_led,snd
ecc 40960 1 ecdh_generic
crc16 16384 2 bluetooth,ext4
rfkill 32768 9 bluetooth,thinkpad_acpi,cfg80211
int3403_thermal 20480 0
ac 20480 0
int340x_thermal_zone 20480 2 int3403_thermal,processor_thermal_device
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 16384 1 nf_conntrack
acpi_pad 184320 0
evdev 28672 19
int3400_thermal 20480 0
acpi_thermal_rel 16384 1 int3400_thermal
nf_tables 262144 27 nft_ct,nft_reject_inet,nft_reject
sch_fq_codel 20480 3
libcrc32c 16384 2 nf_conntrack,nf_tables
crc32c_generic 16384 0
nfnetlink 20480 1 nf_tables
sunrpc 663552 1
msr 16384 0
i2c_dev 24576 0
fuse 167936 3
configfs 57344 1
efivarfs 16384 1
ip_tables 36864 0
x_tables 53248 1 ip_tables
autofs4 53248 2
hid_lenovo 28672 0
hid_generic 16384 0
usbhid 65536 0
hid 151552 3 usbhid,hid_generic,hid_lenovo
zfs 4587520 11
zunicode 335872 1 zfs
zzstd 569344 1 zfs
zlua 184320 1 zfs
zavl 16384 1 zfs
icp 331776 1 zfs
zcommon 102400 2 zfs,icp
znvpair 110592 2 zfs,zcommon
spl 118784 6 zfs,icp,zzstd,znvpair,zcommon,zavl
mmc_block 53248 0
i915 2965504 7
rtsx_pci_sdmmc 32768 0
mmc_core 200704 2 rtsx_pci_sdmmc,mmc_block
i2c_algo_bit 16384 1 i915
ttm 86016 1 i915
nvme 49152 4
xhci_pci 20480 0
drm_kms_helper 307200 1 i915
e1000e 311296 0
xhci_hcd 307200 1 xhci_pci
crc32_pclmul 16384 0
psmouse 184320 0
crc32c_intel 24576 3
ptp 32768 1 e1000e
i2c_i801 32768 0
pps_core 24576 1 ptp
nvme_core 139264 6 nvme
cec 61440 2 drm_kms_helper,i915
i2c_smbus 20480 1 i2c_i801
t10_pi 16384 1 nvme_core
rc_core 65536 1 cec
usbcore 331776 9 xhci_hcd,usbnet,usbhid,typec,uvcvideo,btusb,xhci_pci,cdc_ether,r8152
thunderbolt 331776 0
crc_t10dif 20480 1 t10_pi
crct10dif_generic 16384 0
crct10dif_pclmul 16384 1
crct10dif_common 16384 3 crct10dif_generic,crc_t10dif,crct10dif_pclmul
rtsx_pci 110592 1 rtsx_pci_sdmmc
drm 634880 8 drm_kms_helper,i915,ttm
usb_common 16384 3 xhci_hcd,usbcore,uvcvideo
wmi 36864 2 intel_wmi_thunderbolt,wmi_bmof
battery 28672 1 thinkpad_acpi
video 57344 2 thinkpad_acpi,i915
button 24576 0
-- /etc/initramfs-tools/modules
-- /etc/initramfs-tools/initramfs.conf
MODULES=most
BUSYBOX=auto
KEYMAP=n
COMPRESS=gzip
DEVICE=
NFSROOT=auto
RUNSIZE=10%
FSTYPE=auto
-- /etc/initramfs-tools/update-initramfs.conf
update_initramfs=yes
backup_initramfs=no
-- mkinitramfs hooks
/etc/initramfs-tools/hooks/:
/usr/share/initramfs-tools/hooks:
amd64_microcode
dmsetup
fsck
fuse
intel_microcode
keymap
klibc-utils
kmod
ntfs_3g
plymouth
resume
thermal
udev
zdev
zfs
zfsunlock
zz-busybox
-- System Information:
Debian Release: 11.2
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'proposed-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 5.14.0-0.bpo.2-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
[toc] | [next] | [standalone]
| From | "Trent W. Buck" <trentbuck@gmail.com> |
|---|---|
| Date | 2022-01-10 01:20 +0100 |
| Subject | Bug#1003427: Acknowledgement (COMPRESS=zstd and COMPRESS=lz4 hard-coded to bad COMPRESSLEVELs) |
| Message-ID | <DDQzL-72a-1@gated-at.bofh.it> |
| In reply to | #74144 |
PS: my previous email speculated: does zstd -T0 break SOURCE_DATE_EPOCH?
I think this test shows that zstd -T0 is safe even when SOURCE_DATE_EPOCH=1.
i.e. it does not need the equivalent of mkinitramfs's workaround for xz and gzip.
bash5$ ls -hl
total 1.1G
-rw-r--r-- 1 twb twb 1.1G 2022-01-10 11:06 linux_5.15.5.orig.tar
bash5$ zstd --keep --fast --verbose --threads=0 linux_5.15.5.orig.tar
*** zstd command line interface 64-bits v1.4.8, by Yann Collet ***
Note: 4 physical core(s) detected
linux_5.15.5.orig.tar : 21.38% (1136691200 => 243006203 bytes, linux_5.15.5.orig.tar.zst)
bash5$ ls
linux_5.15.5.orig.tar linux_5.15.5.orig.tar.zst
bash5$ mv linux_5.15.5.orig.tar.zst linux_5.15.5.orig.tar.zst.~1~
bash5$ zstd --keep --fast --verbose --threads=0 linux_5.15.5.orig.tar
*** zstd command line interface 64-bits v1.4.8, by Yann Collet ***
Note: 4 physical core(s) detected
linux_5.15.5.orig.tar : 21.38% (1136691200 => 243006203 bytes, linux_5.15.5.orig.tar.zst)
bash5$ mv linux_5.15.5.orig.tar.zst linux_5.15.5.orig.tar.zst.~2~
bash5$ b2sum *~
570c5509c9c95dabb655be223f70d48182ee547da3df43696139f00969e3eeb51b4f0a5bab9ca3e905ba3e52fbebb6892ee643e246522198b764143228e81437 linux_5.15.5.orig.tar.zst.~1~
570c5509c9c95dabb655be223f70d48182ee547da3df43696139f00969e3eeb51b4f0a5bab9ca3e905ba3e52fbebb6892ee643e246522198b764143228e81437 linux_5.15.5.orig.tar.zst.~2~
bash5$ SOURCE_DATE_EPOCH=1 zstd --keep --verbose --threads=0 linux_5.15.5.orig.tar
*** zstd command line interface 64-bits v1.4.8, by Yann Collet ***
Note: 4 physical core(s) detected
linux_5.15.5.orig.tar : 16.29% (1136691200 => 185188738 bytes, linux_5.15.5.orig.tar.zst)
bash5$ ls -lh
total 1.7G
-rw-r--r-- 1 twb twb 1.1G 2022-01-10 11:06 linux_5.15.5.orig.tar
-rw-r--r-- 1 twb twb 177M 2022-01-10 11:06 linux_5.15.5.orig.tar.zst
-rw-r--r-- 1 twb twb 232M 2022-01-10 11:06 linux_5.15.5.orig.tar.zst.~1~
-rw-r--r-- 1 twb twb 232M 2022-01-10 11:06 linux_5.15.5.orig.tar.zst.~2~
bash5$ mv linux_5.15.5.orig.tar.zst linux_5.15.5.orig.tar.zst.~1~
bash5$ SOURCE_DATE_EPOCH=1 zstd --keep --verbose --threads=0 linux_5.15.5.orig.tar
*** zstd command line interface 64-bits v1.4.8, by Yann Collet ***
Note: 4 physical core(s) detected
linux_5.15.5.orig.tar : 16.29% (1136691200 => 185188738 bytes, linux_5.15.5.orig.tar.zst)
bash5$ mv linux_5.15.5.orig.tar.zst linux_5.15.5.orig.tar.zst.~2~
bash5$ b2sum *~
7edc85faf5c53c62d2a7b13f58100f2795aee109092bbf728c763d1945c84797cb71a4ae32f1cfd53fdaea959120dbbe6eea47fcdb4ee67a5e71faea7e1a122a linux_5.15.5.orig.tar.zst.~1~
7edc85faf5c53c62d2a7b13f58100f2795aee109092bbf728c763d1945c84797cb71a4ae32f1cfd53fdaea959120dbbe6eea47fcdb4ee67a5e71faea7e1a122a linux_5.15.5.orig.tar.zst.~2~
[toc] | [prev] | [next] | [standalone]
| From | Ben Hutchings <ben@decadent.org.uk> |
|---|---|
| Date | 2022-01-10 02:00 +0100 |
| Message-ID | <DDRcu-7ff-3@gated-at.bofh.it> |
| In reply to | #74144 |
[Multipart message — attachments visible in raw view] — view raw
On Mon, 2022-01-10 at 11:04 +1100, Trent W. Buck wrote: > Package: initramfs-tools > Version: 0.140 > Severity: wishlist > > This is a vote for https://salsa.debian.org/kernel-team/initramfs-tools/-/merge_requests/52 > I did this investigation 2 months ago, but AFAICT I forgot to push it to bugs.debian.org. > https://github.com/cyberitsolutions/bootstrap2020/blob/main/doc/NNNNN-ramdisk-compression.rst > > Are pigz and xz *REALLY* the best choices for rd compression? > Surely lz4 and zstd are better tradeoffs? [...] You'll be pleased to hear that in master, zstd with compression level 9 is now the default. The -T0 option is still unconditional though... I have no idea whether the lz4 options should be changed. I'm not sure it's actually a good choice for anyone. Ben. -- Ben Hutchings I say we take off; nuke the site from orbit. It's the only way to be sure.
[toc] | [prev] | [next] | [standalone]
| From | "Trent W. Buck" <trentbuck@gmail.com> |
|---|---|
| Date | 2022-01-10 02:00 +0100 |
| Message-ID | <DDRcu-7ff-1@gated-at.bofh.it> |
| In reply to | #74146 |
Ben Hutchings wrote:
> On Mon, 2022-01-10 at 11:04 +1100, Trent W. Buck wrote:
> > Package: initramfs-tools
> > Version: 0.140
> > Severity: wishlist
> >
> > This is a vote for https://salsa.debian.org/kernel-team/initramfs-tools/-/merge_requests/52
> > I did this investigation 2 months ago, but AFAICT I forgot to push it to bugs.debian.org.
> > https://github.com/cyberitsolutions/bootstrap2020/blob/main/doc/NNNNN-ramdisk-compression.rst
> >
> > Are pigz and xz *REALLY* the best choices for rd compression?
> > Surely lz4 and zstd are better tradeoffs?
> [...]
>
> You'll be pleased to hear that in master, zstd with compression level 9
> is now the default. The -T0 option is still unconditional though...
>
> I have no idea whether the lz4 options should be changed. I'm not sure
> it's actually a good choice for anyone.
FTR my two use cases are:
1. Build a test Debian Live image and run qemu on it, just once.
Build should be quick and ideally not make my laptop heat up.
Output size doesn't matter at all.
2. Build a prod Debian Live image and then upload it to a server
where 1000 desktops will netboot it daily.
I'm using tar2squashfs --comp=lz4 for case #1, so
using lz4 at other layers was intuitive.
Based on the actual measurements, however, I think pigz is a better
bet than lz4 unless/until lz4 gets a -T0 option. ;-)
[toc] | [prev] | [next] | [standalone]
| From | Diederik de Haas <didi.debian@cknow.org> |
|---|---|
| Date | 2022-01-10 11:20 +0100 |
| Message-ID | <DDZWp-4lm-1@gated-at.bofh.it> |
| In reply to | #74146 |
[Multipart message — attachments visible in raw view] — view raw
On Monday, 10 January 2022 01:24:59 CET Ben Hutchings wrote: > You'll be pleased to hear that in master, zstd with compression level 9 > is now the default. Shouldn't the Recommends be on libzstd1 instead of on zstd? Because the zstd package also supports and depends on liblz4-1, liblzma5 and zlib1g, while I'm *assuming* that that isn't needed for initramfs.
[toc] | [prev] | [next] | [standalone]
| From | Diederik de Haas <didi.debian@cknow.org> |
|---|---|
| Date | 2022-01-10 11:50 +0100 |
| Message-ID | <DE0pr-4v5-5@gated-at.bofh.it> |
| In reply to | #74148 |
[Multipart message — attachments visible in raw view] — view raw
On Monday, 10 January 2022 11:10:52 CET Diederik de Haas wrote: > On Monday, 10 January 2022 01:24:59 CET Ben Hutchings wrote: > > You'll be pleased to hear that in master, zstd with compression level 9 > > is now the default. > > Shouldn't the Recommends be on libzstd1 instead of on zstd? > Because the zstd package also supports and depends on liblz4-1, liblzma5 and > zlib1g, while I'm *assuming* that that isn't needed for initramfs. It was just pointed out to me that dpkg already depends on liblzma5 and zlib1g, so my worry about bloat turns out to be unfounded. (apart from that libzstd1 may not have a CLI interface itself, which looks to be needed) Sorry for the noise.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.kernel
csiph-web