No announcement yet.

Zstd'ing The Kernel Might See Mainline With Linux 5.9 For Faster Boot Times

  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by NateHubbard View Post
    Although I think this is a nice development, I'm not entirely understanding why so many people are so excited by this particular use of zstd.
    In addition to the IoT low end use cases, every (fraction of a) second that boot time is reduced can be significant for the cloud-scale services who may boot thousands of systems and VMs per minute to spin up new and/or replacement instances to handle their workloads.


    • #22
      Originally posted by yoshi314 View Post
      smaller (compressed) kernel with fast unpack speed = faster boot. zstd is designed to decompress quickly, pretty much on par with gzip. it actually seems to pull ahead in decompression in benchmarks.

      on low-end embedded hardware things might be different, though.
      Just a note/observation:

      The math expression for evaluating Linux kernel compressors should be: T_read + T_decompress. Unless there is a good reason to leave T_read out of the equation, it should always be present.

      With a NVMe SSD and no compression (T_decompress == 0), T_read is very small. Assuming the size of vmlinux.bin is 32 MB, T_read_32MB_nvme = 32MB/(2GB/s) = 16 milliseconds.

      With SATA SSD, T_read_32MB_sata = 32MB/(500MB/s) = 64 milliseconds.

      In conclusion: If /boot is NVMe SSD, then either avoid compressing vmlinux.bin altogether, or use the fastest decompressor irrespective of how efficient the compression algorithm is.