From: hector@marcansoft.com (Hector Martin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] Clean up ARM compressed loader
Date: Wed, 24 Feb 2010 10:28:03 +0100 [thread overview]
Message-ID: <4B84F123.10309@marcansoft.com> (raw)
In-Reply-To: <20100224085126.GC8068@pengutronix.de>
Uwe Kleine-K?nig wrote:
> This is a big regression as this introduces two new copies. And as
> CONFIG_ZBOOT_ROM isn't primary about saving RAM at the early boot stages
> but for fast booting this is not acceptable.
I'm not seeing any significant performance decrease due to these
optimized copies, compared to the time spent actually uncompressing the
kernel. In fact, it's quite possible that this will speed things up on
some implementations (particularly simpler/older/slower ones), as doing
a block-based copy from ROM to RAM followed by a RAM->RAM inflate can
very well be faster than uncompressing straight from ROM, if the ROM bus
is slower. Inflate causes many small accesses.
If this can be shown to be a real performance issue, it can be fixed by:
1) not copying the actual payload to RAM, instead passing the ROM
address to the decompressor (you still need a gaping hole in RAM since
you can't relocate the other sections up to fill the hole, but you avoid
the copy)
2) keeping track of the true uncompressed kernel size (not just some 4x
expansion guess), so the loader can be placed directly afterwards,
leaving space for the kernel and avoiding the final relocation.
I'll be happy to make these changes if it really makes a difference, but
I'm not convinced right now.
It's worth noting that while debugging this I found a bug in the inflate
stuff that causes inflate to be *much* slower for certain targets,
including some ARM ones (yet nobody appears to have complained). I'll be
submitting a fix for this to LKML, as it affects the generic deflate
implementation.
--
Hector Martin (hector at marcansoft.com)
Public Key: http://www.marcansoft.com/marcan.asc
next prev parent reply other threads:[~2010-02-24 9:28 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-24 2:23 [PATCH] Clean up ARM compressed loader Hector Martin
2010-02-24 8:51 ` Uwe Kleine-König
2010-02-24 9:28 ` Hector Martin [this message]
2010-02-24 22:34 ` Russell King - ARM Linux
2010-02-24 23:34 ` Nicolas Pitre
2010-02-24 23:42 ` Russell King - ARM Linux
2010-02-24 23:57 ` Hector Martin
2010-02-25 0:01 ` Russell King - ARM Linux
2010-02-25 0:30 ` Hector Martin
2010-02-25 4:28 ` Nicolas Pitre
2010-02-25 4:33 ` Nicolas Pitre
2010-02-25 9:38 ` Russell King - ARM Linux
2010-02-25 10:05 ` Hector Martin
2010-02-25 18:35 ` Nicolas Pitre
2010-02-25 19:21 ` Hector Martin
2010-02-25 19:40 ` Nicolas Pitre
2010-02-25 19:56 ` Hector Martin
2010-02-25 20:29 ` Nicolas Pitre
2010-02-25 21:05 ` Russell King - ARM Linux
2010-02-25 21:25 ` Nicolas Pitre
2010-02-25 20:30 ` Russell King - ARM Linux
2010-02-25 12:24 ` Russell King - ARM Linux
2010-02-25 19:24 ` Nicolas Pitre
2010-02-25 19:34 ` Russell King - ARM Linux
2010-02-25 23:48 ` Russell King - ARM Linux
2010-02-25 23:55 ` Russell King - ARM Linux
2010-02-25 9:51 ` Hector Martin
2010-02-25 18:30 ` Nicolas Pitre
2010-02-25 8:23 ` Russell King - ARM Linux
2010-02-25 4:06 ` Nicolas Pitre
-- strict thread matches above, loose matches on Subject: below --
2010-02-23 13:57 hector at marcansoft.com
2010-02-23 14:07 ` Russell King - ARM Linux
2010-02-24 8:42 ` Uwe Kleine-König
2010-02-24 9:27 ` Hector Martin
2010-02-24 11:03 ` Russell King - ARM Linux
2010-02-24 15:20 ` Hector Martin
2010-02-24 15:30 ` Uwe Kleine-König
2010-02-24 22:09 ` Hector Martin
2010-02-24 22:30 ` Russell King - ARM Linux
2010-02-25 0:01 ` Hector Martin
2010-02-24 16:29 ` Russell King - ARM Linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B84F123.10309@marcansoft.com \
--to=hector@marcansoft.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).