From: Ingo Molnar <mingo@kernel.org>
To: Adam Borowski <kilobyte@angband.pl>
Cc: linux-kernel@vger.kernel.org, Nick Terrell <terrelln@fb.com>,
Russell King <linux@armlinux.org.uk>,
Geert Uytterhoeven <geert@linux-m68k.org>,
linux-m68k@lists.linux-m68k.org,
Ralf Baechle <ralf@linux-mips.org>,
Paul Burton <paul.burton@mips.com>,
James Hogan <jhogan@kernel.org>,
linux-mips@linux-mips.org, Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
openrisc@lists.librecores.org,
"James E.J. Bottomley" <jejb@parisc-linux.org>,
Helge Deller <deller@gmx.de>,
linux-parisc@vger.kernel.org,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Michael Ellerman <mpe@ellerman.id.au>,
linuxppc-dev@lists.ozlabs.org,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
linux-s390@vger.kernel.org,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Rich Felker <dalias@libc.org>,
linux-sh@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
x86@kernel.org, Chris Zankel <chris@zankel.net>,
Max Filippov <jcmvbkbc@gmail.com>,
linux-xtensa@linux-xtensa.org
Subject: Re: [PATCH 02/17] x86: Add support for ZSTD-compressed kernel
Date: Mon, 12 Nov 2018 05:22:00 +0100 [thread overview]
Message-ID: <20181112042200.GA96061@gmail.com> (raw)
In-Reply-To: <20181109190304.8573-2-kilobyte@angband.pl>
* Adam Borowski <kilobyte@angband.pl> wrote:
> From: Nick Terrell <terrelln@fb.com>
>
> Integrates the ZSTD decompression code to the x86 pre-boot code.
>
> Zstandard requires slightly more memory during the kernel decompression
> on x86 (192 KB vs 64 KB), and the memory usage is independent of the
> window size.
>
> Zstandard requires memory proportional to the window size used during
> compression for decompressing the ramdisk image, since streaming mode is
> used. Newer versions of zstd (1.3.2+) list the window size of a file
> with `zstd -lv <file>'. The absolute maximum amount of memory required
> is just over 8 MB.
>
> Signed-off-by: Nick Terrell <terrelln@fb.com>
> ---
> Documentation/x86/boot.txt | 6 +++---
> arch/x86/Kconfig | 1 +
> arch/x86/boot/compressed/Makefile | 5 ++++-
> arch/x86/boot/compressed/misc.c | 4 ++++
> arch/x86/boot/header.S | 8 +++++++-
> arch/x86/include/asm/boot.h | 6 ++++--
> 6 files changed, 23 insertions(+), 7 deletions(-)
Acked-by: Ingo Molnar <mingo@kernel.org>
> diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
> index 4c881c850125..af2efb256527 100644
> --- a/arch/x86/boot/header.S
> +++ b/arch/x86/boot/header.S
> @@ -526,8 +526,14 @@ pref_address: .quad LOAD_PHYSICAL_ADDR # preferred load addr
> # the size-dependent part now grows so fast.
> #
> # extra_bytes = (uncompressed_size >> 8) + 65536
> +#
> +# ZSTD compressed data grows by at most 3 bytes per 128K, and only has a 22
> +# byte fixed overhead but has a maximum block size of 128K, so it needs a
> +# larger margin.
> +#
> +# extra_bytes = (uncompressed_size >> 8) + 131072
>
> -#define ZO_z_extra_bytes ((ZO_z_output_len >> 8) + 65536)
> +#define ZO_z_extra_bytes ((ZO_z_output_len >> 8) + 131072)
This change would also affect other decompressors, not just ZSTD,
correct?
Might want to split this change out into a separate preparatory patch to
allow it to be bisected to, or at least mention it in the changelog more
explicitly?
Thanks,
Ingo
WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Adam Borowski <kilobyte@angband.pl>
Cc: linux-kernel@vger.kernel.org, Nick Terrell <terrelln@fb.com>,
Russell King <linux@armlinux.org.uk>,
Geert Uytterhoeven <geert@linux-m68k.org>,
linux-m68k@lists.linux-m68k.org,
Ralf Baechle <ralf@linux-mips.org>,
Paul Burton <paul.burton@mips.com>,
James Hogan <jhogan@kernel.org>,
linux-mips@linux-mips.org, Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
openrisc@lists.librecores.org,
"James E.J. Bottomley" <jejb@parisc-linux.org>,
Helge Deller <deller@gmx.de>,
linux-parisc@vger.kernel.org,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Michael Ellerman <mpe@ellerman.id.au>,
linuxppc-dev@lists.ozlabs.org,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
linux-s390@vger.kernel.org,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Rich Felker <dalias@libc.org>,
linux-sh@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
x86@kernel.org, Chris Zankel <chris@zankel.net>,
Max Filippov <jcmvbkbc@gmail.com>,
linux-xtensa@linux-xtensa.org
Subject: Re: [PATCH 02/17] x86: Add support for ZSTD-compressed kernel
Date: Mon, 12 Nov 2018 04:22:00 +0000 [thread overview]
Message-ID: <20181112042200.GA96061@gmail.com> (raw)
In-Reply-To: <20181109190304.8573-2-kilobyte@angband.pl>
* Adam Borowski <kilobyte@angband.pl> wrote:
> From: Nick Terrell <terrelln@fb.com>
>
> Integrates the ZSTD decompression code to the x86 pre-boot code.
>
> Zstandard requires slightly more memory during the kernel decompression
> on x86 (192 KB vs 64 KB), and the memory usage is independent of the
> window size.
>
> Zstandard requires memory proportional to the window size used during
> compression for decompressing the ramdisk image, since streaming mode is
> used. Newer versions of zstd (1.3.2+) list the window size of a file
> with `zstd -lv <file>'. The absolute maximum amount of memory required
> is just over 8 MB.
>
> Signed-off-by: Nick Terrell <terrelln@fb.com>
> ---
> Documentation/x86/boot.txt | 6 +++---
> arch/x86/Kconfig | 1 +
> arch/x86/boot/compressed/Makefile | 5 ++++-
> arch/x86/boot/compressed/misc.c | 4 ++++
> arch/x86/boot/header.S | 8 +++++++-
> arch/x86/include/asm/boot.h | 6 ++++--
> 6 files changed, 23 insertions(+), 7 deletions(-)
Acked-by: Ingo Molnar <mingo@kernel.org>
> diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
> index 4c881c850125..af2efb256527 100644
> --- a/arch/x86/boot/header.S
> +++ b/arch/x86/boot/header.S
> @@ -526,8 +526,14 @@ pref_address: .quad LOAD_PHYSICAL_ADDR # preferred load addr
> # the size-dependent part now grows so fast.
> #
> # extra_bytes = (uncompressed_size >> 8) + 65536
> +#
> +# ZSTD compressed data grows by at most 3 bytes per 128K, and only has a 22
> +# byte fixed overhead but has a maximum block size of 128K, so it needs a
> +# larger margin.
> +#
> +# extra_bytes = (uncompressed_size >> 8) + 131072
>
> -#define ZO_z_extra_bytes ((ZO_z_output_len >> 8) + 65536)
> +#define ZO_z_extra_bytes ((ZO_z_output_len >> 8) + 131072)
This change would also affect other decompressors, not just ZSTD,
correct?
Might want to split this change out into a separate preparatory patch to
allow it to be bisected to, or at least mention it in the changelog more
explicitly?
Thanks,
Ingo
WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: openrisc@lists.librecores.org
Subject: [OpenRISC] [PATCH 02/17] x86: Add support for ZSTD-compressed kernel
Date: Mon, 12 Nov 2018 05:22:00 +0100 [thread overview]
Message-ID: <20181112042200.GA96061@gmail.com> (raw)
In-Reply-To: <20181109190304.8573-2-kilobyte@angband.pl>
* Adam Borowski <kilobyte@angband.pl> wrote:
> From: Nick Terrell <terrelln@fb.com>
>
> Integrates the ZSTD decompression code to the x86 pre-boot code.
>
> Zstandard requires slightly more memory during the kernel decompression
> on x86 (192 KB vs 64 KB), and the memory usage is independent of the
> window size.
>
> Zstandard requires memory proportional to the window size used during
> compression for decompressing the ramdisk image, since streaming mode is
> used. Newer versions of zstd (1.3.2+) list the window size of a file
> with `zstd -lv <file>'. The absolute maximum amount of memory required
> is just over 8 MB.
>
> Signed-off-by: Nick Terrell <terrelln@fb.com>
> ---
> Documentation/x86/boot.txt | 6 +++---
> arch/x86/Kconfig | 1 +
> arch/x86/boot/compressed/Makefile | 5 ++++-
> arch/x86/boot/compressed/misc.c | 4 ++++
> arch/x86/boot/header.S | 8 +++++++-
> arch/x86/include/asm/boot.h | 6 ++++--
> 6 files changed, 23 insertions(+), 7 deletions(-)
Acked-by: Ingo Molnar <mingo@kernel.org>
> diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
> index 4c881c850125..af2efb256527 100644
> --- a/arch/x86/boot/header.S
> +++ b/arch/x86/boot/header.S
> @@ -526,8 +526,14 @@ pref_address: .quad LOAD_PHYSICAL_ADDR # preferred load addr
> # the size-dependent part now grows so fast.
> #
> # extra_bytes = (uncompressed_size >> 8) + 65536
> +#
> +# ZSTD compressed data grows by at most 3 bytes per 128K, and only has a 22
> +# byte fixed overhead but has a maximum block size of 128K, so it needs a
> +# larger margin.
> +#
> +# extra_bytes = (uncompressed_size >> 8) + 131072
>
> -#define ZO_z_extra_bytes ((ZO_z_output_len >> 8) + 65536)
> +#define ZO_z_extra_bytes ((ZO_z_output_len >> 8) + 131072)
This change would also affect other decompressors, not just ZSTD,
correct?
Might want to split this change out into a separate preparatory patch to
allow it to be bisected to, or at least mention it in the changelog more
explicitly?
Thanks,
Ingo
WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Adam Borowski <kilobyte@angband.pl>
Cc: linux-mips@linux-mips.org, Rich Felker <dalias@libc.org>,
linux-sh@vger.kernel.org, James Hogan <jhogan@kernel.org>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
"James E.J. Bottomley" <jejb@parisc-linux.org>,
Max Filippov <jcmvbkbc@gmail.com>,
Paul Mackerras <paulus@samba.org>,
Thomas Gleixner <tglx@linutronix.de>,
Jonas Bonn <jonas@southpole.se>,
linux-s390@vger.kernel.org,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Helge Deller <deller@gmx.de>,
x86@kernel.org, Russell King <linux@armlinux.org.uk>,
Ingo Molnar <mingo@redhat.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
linux-xtensa@linux-xtensa.org,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Nick Terrell <terrelln@fb.com>,
openrisc@lists.librecores.org, Borislav Petkov <bp@alien8.de>,
Stafford Horne <shorne@gmail.com>,
Chris Zankel <chris@zankel.net>,
linux-parisc@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
linux-kernel@vger.kernel.org, Ralf Baechle <ralf@linux-mips.org>,
Paul Burton <paul.burton@mips.com>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 02/17] x86: Add support for ZSTD-compressed kernel
Date: Mon, 12 Nov 2018 05:22:00 +0100 [thread overview]
Message-ID: <20181112042200.GA96061@gmail.com> (raw)
In-Reply-To: <20181109190304.8573-2-kilobyte@angband.pl>
* Adam Borowski <kilobyte@angband.pl> wrote:
> From: Nick Terrell <terrelln@fb.com>
>
> Integrates the ZSTD decompression code to the x86 pre-boot code.
>
> Zstandard requires slightly more memory during the kernel decompression
> on x86 (192 KB vs 64 KB), and the memory usage is independent of the
> window size.
>
> Zstandard requires memory proportional to the window size used during
> compression for decompressing the ramdisk image, since streaming mode is
> used. Newer versions of zstd (1.3.2+) list the window size of a file
> with `zstd -lv <file>'. The absolute maximum amount of memory required
> is just over 8 MB.
>
> Signed-off-by: Nick Terrell <terrelln@fb.com>
> ---
> Documentation/x86/boot.txt | 6 +++---
> arch/x86/Kconfig | 1 +
> arch/x86/boot/compressed/Makefile | 5 ++++-
> arch/x86/boot/compressed/misc.c | 4 ++++
> arch/x86/boot/header.S | 8 +++++++-
> arch/x86/include/asm/boot.h | 6 ++++--
> 6 files changed, 23 insertions(+), 7 deletions(-)
Acked-by: Ingo Molnar <mingo@kernel.org>
> diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
> index 4c881c850125..af2efb256527 100644
> --- a/arch/x86/boot/header.S
> +++ b/arch/x86/boot/header.S
> @@ -526,8 +526,14 @@ pref_address: .quad LOAD_PHYSICAL_ADDR # preferred load addr
> # the size-dependent part now grows so fast.
> #
> # extra_bytes = (uncompressed_size >> 8) + 65536
> +#
> +# ZSTD compressed data grows by at most 3 bytes per 128K, and only has a 22
> +# byte fixed overhead but has a maximum block size of 128K, so it needs a
> +# larger margin.
> +#
> +# extra_bytes = (uncompressed_size >> 8) + 131072
>
> -#define ZO_z_extra_bytes ((ZO_z_output_len >> 8) + 65536)
> +#define ZO_z_extra_bytes ((ZO_z_output_len >> 8) + 131072)
This change would also affect other decompressors, not just ZSTD,
correct?
Might want to split this change out into a separate preparatory patch to
allow it to be bisected to, or at least mention it in the changelog more
explicitly?
Thanks,
Ingo
next prev parent reply other threads:[~2018-11-12 4:22 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-09 18:59 [PATCH 0/17] Kernel compression: add ZSTD, remove LZMA1 and BZIP2 Adam Borowski
2018-11-09 18:59 ` [OpenRISC] " Adam Borowski
2018-11-09 18:59 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 01/17] lib: Add support for ZSTD-compressed kernel Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 02/17] x86: " Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-12 4:22 ` Ingo Molnar [this message]
2018-11-12 4:22 ` Ingo Molnar
2018-11-12 4:22 ` [OpenRISC] " Ingo Molnar
2018-11-12 4:22 ` Ingo Molnar
2018-11-09 19:02 ` [PATCH 03/17] .gitignore: add ZSTD-compressed files Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 04/17] x86: Remove support for BZIP2 and LZMA compressed kernel Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 05/17] mips: " Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-13 22:45 ` Paul Burton
2018-11-13 22:45 ` Paul Burton
2018-11-13 22:45 ` [OpenRISC] " Paul Burton
2018-11-13 23:10 ` Adam Borowski
2018-11-13 23:10 ` Adam Borowski
2018-11-13 23:10 ` [OpenRISC] " Adam Borowski
2018-11-13 23:10 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 06/17] parisc: " Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 07/17] s390: " Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 08/17] sh: " Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 09/17] unicore32: " Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 10/17] arm: Remove support for " Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 11/17] Kconfig: Remove support for BZIP2-compressed initrd and kernel Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-09 19:02 ` [PATCH 12/17] Kconfig: Remove support for LZMA-compressed initrd Adam Borowski
2018-11-09 19:02 ` [OpenRISC] " Adam Borowski
2018-11-09 19:02 ` Adam Borowski
2018-11-09 19:03 ` [PATCH 13/17] arch/*: Purge references to CONFIG_RD_BZIP2/LZMA from various defconfigs Adam Borowski
2018-11-09 19:03 ` [OpenRISC] " Adam Borowski
2018-11-09 19:03 ` Adam Borowski
2018-11-09 19:03 ` [PATCH 14/17] lib: Completely purge now-unused bzip2 code from the kernel Adam Borowski
2018-11-09 19:03 ` [OpenRISC] " Adam Borowski
2018-11-09 19:03 ` Adam Borowski
2018-11-09 19:03 ` [PATCH 15/17] lib: Completely purge now-unused lzma " Adam Borowski
2018-11-09 19:03 ` [OpenRISC] " Adam Borowski
2018-11-09 19:03 ` Adam Borowski
2018-11-09 19:03 ` [PATCH 16/17] Kconfig: Update the prose for selection of compression algorithm Adam Borowski
2018-11-09 19:03 ` [OpenRISC] " Adam Borowski
2018-11-09 19:03 ` Adam Borowski
2018-11-09 19:03 ` [PATCH 17/17] [NOT FOR MERGING] lib: Be noisy about used decompression method Adam Borowski
2018-11-09 19:03 ` [OpenRISC] " Adam Borowski
2018-11-09 19:03 ` Adam Borowski
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=20181112042200.GA96061@gmail.com \
--to=mingo@kernel.org \
--cc=benh@kernel.crashing.org \
--cc=bp@alien8.de \
--cc=chris@zankel.net \
--cc=dalias@libc.org \
--cc=deller@gmx.de \
--cc=geert@linux-m68k.org \
--cc=heiko.carstens@de.ibm.com \
--cc=jcmvbkbc@gmail.com \
--cc=jejb@parisc-linux.org \
--cc=jhogan@kernel.org \
--cc=jonas@southpole.se \
--cc=kilobyte@angband.pl \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-mips@linux-mips.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux-xtensa@linux-xtensa.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=openrisc@lists.librecores.org \
--cc=paul.burton@mips.com \
--cc=paulus@samba.org \
--cc=ralf@linux-mips.org \
--cc=schwidefsky@de.ibm.com \
--cc=shorne@gmail.com \
--cc=stefan.kristiansson@saunalahti.fi \
--cc=terrelln@fb.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=ysato@users.sourceforge.jp \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.