From patchwork Fri Nov 9 18:59:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Borowski X-Patchwork-Id: 10676433 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6B28D5A4 for ; Fri, 9 Nov 2018 19:00:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 527B02F054 for ; Fri, 9 Nov 2018 19:00:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 45F4B2F099; Fri, 9 Nov 2018 19:00:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5C9AC2F089 for ; Fri, 9 Nov 2018 19:00:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728661AbeKJEmS (ORCPT ); Fri, 9 Nov 2018 23:42:18 -0500 Received: from tartarus.angband.pl ([54.37.238.230]:51088 "EHLO tartarus.angband.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728162AbeKJEmR (ORCPT ); Fri, 9 Nov 2018 23:42:17 -0500 Received: from kilobyte by tartarus.angband.pl with local (Exim 4.89) (envelope-from ) id 1gLC0X-000503-84; Fri, 09 Nov 2018 19:59:53 +0100 Date: Fri, 9 Nov 2018 19:59:53 +0100 From: Adam Borowski To: linux-kernel@vger.kernel.org, Nick Terrell , Russell King , Geert Uytterhoeven , linux-m68k@lists.linux-m68k.org, Ralf Baechle , Paul Burton , James Hogan , linux-mips@linux-mips.org, Jonas Bonn , Stefan Kristiansson , Stafford Horne , openrisc@lists.librecores.org, "James E.J. Bottomley" , Helge Deller , linux-parisc@vger.kernel.org, Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , linuxppc-dev@lists.ozlabs.org, Martin Schwidefsky , Heiko Carstens , linux-s390@vger.kernel.org, Yoshinori Sato , Rich Felker , linux-sh@vger.kernel.org, Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, Chris Zankel , Max Filippov , linux-xtensa@linux-xtensa.org Subject: [PATCH 0/17] Kernel compression: add ZSTD, remove LZMA1 and BZIP2 Message-ID: <20181109185953.xwyelyqnygbskkxk@angband.pl> MIME-Version: 1.0 Content-Disposition: inline X-Junkbait: aaron@angband.pl, zzyx@angband.pl User-Agent: NeoMutt/20170113 (1.7.2) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: kilobyte@angband.pl X-SA-Exim-Scanned: No (on tartarus.angband.pl); SAEximRunCond expanded to false Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi! As new compressors get invented, they tend to find their way into the kernel, yet we never prune superseded ones. It's time to do so. In particular, BZIP2 is drastically slower than other compressors we have, even when they achieve smaller sizes. It takes more memory, too. And, BZIP2 is not used anywhere else in the kernel -- just for booting the kernel itself and the initrd. Thus, we can drop it from the tree completely, making Linus happier by around 900 lines. LZMA1 is redundant with XZ (LZMA2), and unlike the latter, it uses its own copy of code that's not shared with anything else (some drivers use XZ). Let's drop it as well. Some bootloaders can use it thus let's keep the Kconfig option, but I left no piece of code inside the kernel itself. On the other hand, Nick Terrell has a couple of patches adding ZSTD support (using code already in use in multiple pieces around the kernel). ZSTD is strong and fast, obsoleting all mid-range compressors. As the removal of BZIP2 and LZMA1 would be hopelessly entangled with this addition, I'm resending Nick's patches here. I've been booting using them since Oct'17 on amd64 (kernel+initrd), armhf and arm64 (initrd) without issues, other folks tested various other architectures as well. Thus, I'd recommend people to use: * XZ for most machines * ZSTD where speed is important * maaaaybe LZ4 is some special cases (grub and u-boot are ridiculously slow at reading, making fast but weak decompressors a net loss. On the other hand, XZ decompresses pretty fast but is very slow at compress time, making ZSTD preferred for rapid devel cycles.) * we can't get rid of GZIP in foreseable future * LZO is obsolete but is used elsewhere in the kernel Total: 69 files changed, 518 insertions(+), 1785 deletions(-) Not sure whose tree this patchset should go through. I'm also not sure how finely split into commits you want the arch bits be; I included defconfig bits all together, yet separated code changes per-arch. Meow!