initramfs-tools & kernel: use zstd as the default compression method
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
Undecided
|
bugproxy | ||
initramfs-tools (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Seth Forshee | ||
linux-oracle (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Turns out that loading is always the slow part in loading initramfs into memory and decompressing it since decompression is always the final 10-20% or so of the task. It therefore makes sense to use a good compressor that shrinks the initramfs as much as possible with little decompression overhead.
Benchmarking zstd vs lz4 shows that while zstd can be ~5x slower in decompression, the image size is much smaller with zstd than lz4, and since ~80-90% of the boot time is loading the image it makes sense to use zstd.
Attached is a libreoffice spread sheet showing typical load and decompression times for a fairly standard 3.4 GHZ intel box with data for load times for a 5400 RPM, 7200 RPM and SATA SSD drives.
The conclusions from the test results (attached) show:
1. Loading time is always significantly slower than decompression time.
2. ZSTD is 5x slower than LZ4 in decompression speed but produces far
better compressed images
3. Given that loading time is the major factor in loading +
decompression, ZSTD is best for kernel and initramfs boot timings.
(Also refer to https:/
amd64 supports zstd, but s390x does not. Will use this bug to enable zstd support on s390x.
Upstream submitted patch https:/
Changed in initramfs-tools (Ubuntu): | |
status: | New → Fix Committed |
summary: |
- initramfs-tools: use zstd as the default compression method + initramfs-tools & kernel: use zstd as the default compression method |
description: | updated |
Changed in ubuntu-z-systems: | |
assignee: | nobody → bugproxy (bugproxy) |
tags: | added: reverse-proxy-bugzilla s390x |
tags: | added: architecture-s39064 bugnameltc-193300 severity-high targetmilestone-inin2004 |
tags: | added: bot-stop-nagging |
Changed in ubuntu-z-systems: | |
status: | New → Fix Released |
Changed in linux-oracle (Ubuntu): | |
status: | New → Fix Committed |
tags: | removed: verification-needed-focal |
Thanks Dimitri!