public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* fastboot: unpacking initramfs faster
@ 2009-03-24  7:39 Andreas Robinson
  0 siblings, 0 replies; 7+ messages in thread
From: Andreas Robinson @ 2009-03-24  7:39 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: linux-kernel

Hi,

here's a quick update on what can be done to make initramfs unpacking
faster that I suggested a few weeks ago. There results are mixed.


The bad:

I tried running the initramfs unpacking asynchronously (and earlier) but
ran into a curious problem: The parent thread stalled until
decompression was done. I don't know why - I made sure that the two
threads ran on different cores. Perhaps the parent was cache starved.

I then looked at multithreaded decompression and found that neither gzip
files nor deflate streams provide enough information (eg block lengths)
to let you share the decompression among threads.

It can be done of course, but obviously not without modifying file
formats and userspace tools. 

(Thoughts of snowballs and hell presented themselves at this point.)


The good:

LZO compression is roughly twice as fast as gunzip while files are only
about 7% bigger. The file format is multiprocessing friendly and the
decompressor is already in the mainline kernel.

I estimate that single-threaded LZO would cut the unpacking time almost
in half even on a low-end PC with a slow drive, like the Eee 901.

Finally, someone already wrote support for bzip2 and lzma compressed
initramfs. It's in the -tip tree. Adding LZO to that list should be
straightforward so that's where I'm going next.

Cheers,
Andreas



^ permalink raw reply	[flat|nested] 7+ messages in thread
[parent not found: <cj9yI-540-17@gated-at.bofh.it>]

end of thread, other threads:[~2009-03-26 16:05 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-24  7:39 fastboot: unpacking initramfs faster Andreas Robinson
     [not found] <cj9yI-540-17@gated-at.bofh.it>
2009-03-24 22:11 ` Bodo Eggert
2009-03-26  7:52   ` Andreas Robinson
2009-03-26 11:26     ` Bodo Eggert
2009-03-26 11:57       ` Andreas Robinson
2009-03-26 12:56         ` Bodo Eggert
2009-03-26 16:05           ` Andreas Robinson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox