[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220316053428.5758-1-phillip@squashfs.org.uk>
Date: Wed, 16 Mar 2022 05:34:28 +0000
From: Phillip Lougher <phillip@...ashfs.org.uk>
To: a.fatoum@...gutronix.de
Cc: kernel@...gutronix.de, linux-kernel@...r.kernel.org,
squashfs-devel@...ts.sourceforge.net, phillip.lougher@...il.com
Subject: Re: Possible performance regression with CONFIG_SQUASHFS_DECOMP_SINGLE
Ahmad Fatoum <a.fatoum@...gutronix.de> wrote:
> Hello,
>
> This an issue we had with v5.15 that we have since successfully worked around.
> I am reporting it here as a pointer in case someone else runs into this and as
> a heads up that there seems to be an underlying performance regression, so
> here it goes:
>
[snip]
>
> Looking through the original kernel configuration we found that it has
> CONFIG_SQUASHFS_DECOMP_SINGLE=y and CONFIG_SQUASHFS_FILE_CACHE=y.
>
> Once changed to CONFIG_SQUASHFS_FILE_DIRECT=y and
> CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y, we were below 40s as we want.
This sounds like the slow-down that was introduced by commit c1f6925e1091
"mm: put readahead pages in cache earlier" (Linux V5.8)
This commit prevents Squashfs from doing it's own readahead, which
causes a slow-down in performance. The slow-down is noticable when
using a single decompressor (CONFIG_SQUASHFS_DECOMP_SINGLE=y), and
can be solved by moving to a multi-decompressor configuration, because
it removes contention on a single buffer in the single decompressor case.
This has been already been fixed by commit 9eec1d897139
"squashfs: provide backing_dev_info in order to disable read-ahead"
which is in Linux 5.17-rc1.
Phillip
Powered by blists - more mailing lists