Loading from squashfs with zstd compression slower than ext4

Tom Rini trini at konsulko.com
Thu Jun 1 19:09:56 CEST 2023


On Thu, Jun 01, 2023 at 02:10:21PM +1000, Jonathan Liu wrote:
> Hi Simon,
> 
> On Thu, 1 Jun 2023 at 11:27, Jonathan Liu <net147 at gmail.com> wrote:
> >
> > Hi Simon,
> >
> > On Thu, 1 Jun 2023 at 03:13, Simon Glass <sjg at chromium.org> wrote:
> > >
> > > Hi Jonathan,
> > >
> > > On Wed, 31 May 2023 at 06:52, Jonathan Liu <net147 at gmail.com> wrote:
> > > >
> > > > Hi All,
> > > >
> > > > I noticed that loading from squashfs with zstd compression is
> > > > significantly slower than ext4 on RK3399 using U-Boot 2022.01. The
> > > > filesystem is located on eMMC.
> > > >
> > > > I have CONFIG_BLOCK_CACHE=y in .config and am using the generic load command.
> > > >
> > > > ext4:
> > > > 15682578 bytes read in 366 ms (40.9 MiB/s)
> > > >
> > > > SquashFS with zstd compression:
> > > > 15685001 bytes read in 2339 ms (6.4 MiB/s)
> > > >
> > > > Any suggestions on how to speed up loading from SquashFS with zstd compression?
> >
> > >
> > > Could it just be that zstd is slow? Have you tried lz4?
> > >
> 
> >
> > I tried LZ4 but get "Error: unknown compression type."
> > It seems the SquashFS decompressor only supports lzo, gzip and zstd -
> > https://source.denx.de/u-boot/u-boot/-/blob/master/fs/squashfs/sqfs_decompressor.c
> >
> > ext4:
> > 15682578 bytes read in 366 ms (40.9 MiB/s)
> >
> > SquashFS with lzo compression (~129 MiB squashfs):
> > 15686657 bytes read in 1032 ms (14.5 MiB/s)
> >
> > SquashFS with gzip compression (~116 MiB squashfs):
> > 15686657 bytes read in 1494 ms (10 MiB/s)
> >
> > SquashFS with zstd compression (~107 MiB squashfs):
> > 15685001 bytes read in 2339 ms (6.4 MiB/s)
> 
> SquashFS with zstd compression seems to be even slower after zstd was
> updated to 1.5.2 in U-Boot.
> 
> SquashFS with zstd compression (~107 MiB squashfs), with zstd 1.5.2
> update cherry-picked from
> https://source.denx.de/u-boot/u-boot/-/commit/4b9b25d943ff95c7421cab261333fc29852fe3b1:
> 15686657 bytes read in 2726 ms (5.5 MiB/s)

OK, so is zstd supposed to be fast decompression? Are there some
optimizations in the library we could be enabling (or at least asking to
enable via Kconfig) but aren't?

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230601/410b80ca/attachment.sig>


More information about the U-Boot mailing list