[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZDnYme3w3T6310MJ@probook>
Date: Sat, 15 Apr 2023 00:50:01 +0200
From: Jonathan Neuschäfer <j.neuschaefer@....net>
To: Arnd Bergmann <arnd@...db.de>
Cc: Jonathan Neuschäfer <j.neuschaefer@....net>,
linux-arm-kernel@...ts.infradead.org,
Russell King <linux@...linux.org.uk>,
Nick Terrell <terrelln@...com>,
Tony Lindgren <tony@...mide.com>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Linus Walleij <linus.walleij@...aro.org>,
Sebastian Reichel <sebastian.reichel@...labora.com>,
"Hawkins, Nick" <nick.hawkins@....com>,
Christophe Leroy <christophe.leroy@...roup.eu>,
Florian Fainelli <f.fainelli@...il.com>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Xin Li <xin3.li@...el.com>,
Seung-Woo Kim <sw0312.kim@...sung.com>,
Paul Bolle <pebolle@...cali.nl>,
Bart Van Assche <bvanassche@....org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/3] ARM ZSTD boot compression
On Wed, Apr 12, 2023 at 11:33:15PM +0200, Arnd Bergmann wrote:
> On Wed, Apr 12, 2023, at 23:21, Jonathan Neuschäfer wrote:
> > This patchset enables ZSTD kernel (de)compression on 32-bit ARM.
> > Unfortunately, it is much slower than I hoped (tested on ARM926EJ-S):
> >
> > - LZO: 7.2 MiB, 6 seconds
> > - ZSTD: 5.6 MiB, 60 seconds
>
> That seems unexpected, as the usual numbers say it's about 25%
> slower than LZO. Do you have an idea why it is so much slower
> here?
No clear idea.
I guess it might be related to caching or unaligned memory accesses
somehow.
I suspected CONFIG_CPU_DCACHE_WRITETHROUGH, which was enabled, but
disabling it didn't improve performance.
> How long does it take to decompress the generated arch/arm/boot/Image
> file in user space on the same hardware using lzop and zstd?
Unfortunately, the unzstd userspace tool requires a buffer of of 128 MiB
(the window size), which is too big for my usual devboard (which has about
100 MiB available). I'd have to test on a different board.
Jonathan
---
# uname -a
Linux buildroot 6.3.0-rc6-00020-g023058d50f2f #1212 PREEMPT Fri Apr 14 20:58:21 CEST 2023 armv5tejl GNU/Linux
# ls -lh
total 13M
-rw-r--r-- 1 root root 7.5M Jan 1 00:07 piggy.lzo
-rw-r--r-- 1 root root 5.8M Jan 1 00:07 piggy.zstd
# time lzop -d piggy.lzo -c > /dev/null
lzop: piggy.lzo: warning: ignoring trailing garbage in lzop file
Command exited with non-zero status 2
real 0m 3.38s
user 0m 3.20s
sys 0m 0.18s
# time unzstd piggy.zstd -c > /dev/null
[ 858.270000] __vm_enough_memory: pid: 114, comm: unzstd, not enough memory for the allocation
piggy.zstd : Decoding error (36) : Allocation error : not enough memory
Command exited with non-zero status 1
real 0m 0.03s
user 0m 0.01s
sys 0m 0.03s
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists