LWN.net Logo

lib, initramfs: Add initramfs LZO compression

From:  Andreas Robinson <andr345@gmail.com>
To:  "H. Peter Anvin" <hpa@zytor.com>, Alain Knaff <alain@knaff.lu>
Subject:  [PATCH 0/2] lib, initramfs: Add initramfs LZO compression
Date:  Wed, 1 Apr 2009 15:40:50 +0200
Message-ID:  <1238593252-3435-1-git-send-email-andr345@gmail.com>
Cc:  linux-kernel@vger.kernel.org
Archive-link:  Article, Thread

this small patchset adds support for compressing initial ramdisks
into LZO (Lempel Ziv Oberhumer) format. It has been tested on x86
and x86_64. The patches apply to current git mainline.

In a pair of real-world examples, an Eee 901 boots ~120 ms faster.
A high-end desktop only saves an inconsequential 35 ms.

Specs: 

* LZO data decompresses in 55 - 60% of the time needed by gzip,
  when using the 'fast' decompressor.
* The decompressor is very small, < 2 kB on x86.
* An LZO-compressed initramfs takes 7-10% more disk space vs gzip.

Test results:

initramfs.cpio: 14174 kB 
initramfs.gz:    4657 kB
initramfs.lzo:   5007 kB

            Eee 901    Core i7 920
           SSD 30MB/s  HDD 60MB/s

            gz  lzo     gz  lzo

disk read  152  163     76   82
unpacking  247  113     95   54
----------------------------------
total      399  276    171  136

net gain     123          35 

All values are milliseconds. Disk read times are estimates.

I have a patch that adds support for LZO-compressed kernels but
decided to not include it now since it's only implemented for x86.

Cheers,
Andreas

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds