public inbox for linux-kbuild@vger.kernel.org
 help / color / mirror / Atom feed
From: "kyungsik.lee" <kyungsik.lee@lge.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Russell King <linux@arm.linux.org.uk>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Michal Marek <mmarek@suse.cz>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org,
	x86@kernel.org, Nitin Gupta <nitingupta910@gmail.com>,
	Richard Purdie <rpurdie@openedhand.com>,
	Josh Triplett <josh@joshtriplett.org>,
	Joe Millenbach <jmillenbach@gmail.com>,
	Albin Tonnerre <albin.tonnerre@free-electrons.com>,
	hyojun.im@lge.com, chan.jeong@lge.com, gunho.lee@lge.com,
	minchan.kim@lge.com, namhyung.kim@lge.com,
	raphael.andy.lee@gmail.com,
	CE Linux Developers List <celinux-dev@lists.celinuxforum.org>,
	Dave Martin <dave.martin@linaro.org>
Subject: Re: [RFC PATCH 0/4] Add support for LZ4-compressed kernels
Date: Tue, 29 Jan 2013 10:16:25 +0900	[thread overview]
Message-ID: <510722E9.5090603@lge.com> (raw)
In-Reply-To: <20130128142510.68092e10.akpm@linux-foundation.org>

On 2013-01-29 오전 7:25, Andrew Morton wrote:
> On Sat, 26 Jan 2013 14:50:43 +0900
> Kyungsik Lee <kyungsik.lee@lge.com> wrote:
>
>> This patchset is for supporting LZ4 compressed kernel and initial ramdisk on
>> the x86 and ARM architectures.
>>
>> According to http://code.google.com/p/lz4/, LZ4 is a very fast lossless
>> compression algorithm and also features an extremely fast decoder.
>>
>> Kernel Decompression APIs are based on implementation by Yann Collet
>> (http://code.google.com/p/lz4/source/checkout).
>> De/compression Tools are also provided from the site above.
>>
>> The initial test result on ARM(v7) based board shows that the size of kernel
>> with LZ4 compressed is 8% bigger than LZO compressed  but the decompressing
>> speed is faster(especially under the enabled unaligned memory access).
>>
>> Test: 3.4 based kernel built with many modules
>> Uncompressed kernel size: 13MB
>> lzo: 6.3MB, 301ms
>> lz4: 6.8MB, 251ms(167ms, with enabled unaligned memory access)
>>
>> It seems that it___s worth trying LZ4 compressed kernel image or ramdisk
>> for making the kernel boot more faster.
>>
>> ...
>>
>>   20 files changed, 663 insertions(+), 3 deletions(-)
>>
>> ...
>>
> What's this "with enabled unaligned memory access" thing?  You mean "if
> the arch supports CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS"?  If so,
> that's only x86, which isn't really in the target market for this
> patch, yes?

Yes, exactly. If the arch supports CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS,

then it is expected more boot-time improvement by LZ4-decompressor.

Currently there are two architectures which support it in mainline; x86 and powerpc.
And it is expected that ARM arch(v6 or above) also support it since the commit below.
Commit ID: 5010192d5
ARM: 7583/1: decompressor: Enable unaligned memory access for v6 and above
by Dave Martin

The test results(167ms) come from the ARM(v7 arch), MSM8960 based board with
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS set.
  

>
> It's a lot of code for a 50ms boot-time improvement.  Does anyone have
> any opinions on whether or not the benefits are worth the cost?
>

Not only for the kernel but also the ramdisk can be compressed with LZ4 so
the boot-time would be more improved. The test case above didn't include
the decompressing time result for LZ4-compressed ramdisk.

So far the implementation is applicable to boot-time improvement for
LZ4-compressed kernel and ramdisk images but the decompressor module is
exported as an interface for other usages like LZO.
With LZ4 compressor(not yet implemented for the kernel), it is expected
that it will be used in many places in kernel such as crypto and fs(squashfs, btrfs).

Thanks,
Kyungsik

  





  reply	other threads:[~2013-01-29  1:16 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-26  5:50 [RFC PATCH 0/4] Add support for LZ4-compressed kernels Kyungsik Lee
2013-01-26  5:50 ` [RFC PATCH 1/4] decompressors: add lz4 decompressor module Kyungsik Lee
2013-01-26  5:50 ` [RFC PATCH 2/4] lib: add support for LZ4-compressed kernels Kyungsik Lee
2013-01-26  5:50 ` [RFC PATCH 3/4] arm: " Kyungsik Lee
2013-01-26  5:50 ` [RFC PATCH 4/4] x86: " Kyungsik Lee
2013-01-28 22:25 ` [RFC PATCH 0/4] Add " Andrew Morton
2013-01-29  1:16   ` kyungsik.lee [this message]
2013-01-29  4:29   ` Nicolas Pitre
2013-01-29  6:18     ` H. Peter Anvin
2013-01-30 10:23     ` Johannes Stezenbach
2013-02-04  2:02       ` Markus F.X.J. Oberhumer
2013-02-04 10:50         ` Russell King - ARM Linux
2013-02-05 11:39           ` Johannes Stezenbach
2013-01-29  7:26   ` Richard Cochran
2013-01-29 10:15   ` Russell King - ARM Linux
2013-01-29 11:43     ` Egon Alter
2013-01-29 12:15       ` Russell King - ARM Linux
2013-02-01  8:15       ` kyungsik.lee
2013-01-30  3:36     ` H. Peter Anvin
2013-01-30 18:33       ` Nicolas Pitre
2013-01-31 21:48         ` H. Peter Anvin
2013-01-31 22:16           ` Nicolas Pitre
2013-01-31 22:18             ` H. Peter Anvin
2013-02-01  2:28               ` Nicolas Pitre
2013-02-01  6:37                 ` H. Peter Anvin
2013-01-29 22:55 ` David Sterba
2013-02-01  7:13   ` kyungsik.lee

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=510722E9.5090603@lge.com \
    --to=kyungsik.lee@lge.com \
    --cc=akpm@linux-foundation.org \
    --cc=albin.tonnerre@free-electrons.com \
    --cc=celinux-dev@lists.celinuxforum.org \
    --cc=chan.jeong@lge.com \
    --cc=dave.martin@linaro.org \
    --cc=gunho.lee@lge.com \
    --cc=hpa@zytor.com \
    --cc=hyojun.im@lge.com \
    --cc=jmillenbach@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=minchan.kim@lge.com \
    --cc=mingo@redhat.com \
    --cc=mmarek@suse.cz \
    --cc=namhyung.kim@lge.com \
    --cc=nitingupta910@gmail.com \
    --cc=raphael.andy.lee@gmail.com \
    --cc=rpurdie@openedhand.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.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