[PATCH v2] erofs: add a global page pool for lz4 decompression
Gao Xiang
hsiangkao at linux.alibaba.com
Wed Jan 10 00:08:18 AEDT 2024
Hi Chunhai,
On 2024/1/9 15:41, Chunhai Guo wrote:
> Using a global page pool for LZ4 decompression significantly reduces the
> time spent on page allocation in low memory scenarios.
>
> The table below shows the reduction in time spent on page allocation for
> LZ4 decompression when using a global page pool. The results were
> obtained from multi-app launch benchmarks on ARM64 Android devices
> running the 5.15 kernel with an 8-core CPU and 8GB of memory. In the
> benchmark, we launched 16 frequently-used apps, and the camera app was
> the last one in each round. The data in the table is the average time of
> camera app for each round.
> After using the page pool, there was an average improvement of 150ms in
> the launch time of the camera app, which was obtained from systrace log.
> +--------------+---------------+--------------+---------+
> | | w/o page pool | w/ page pool | diff |
> +--------------+---------------+--------------+---------+
> | Average (ms) | 3434 | 21 | -99.38% |
> +--------------+---------------+--------------+---------+
>
> Based on the benchmark logs, 64 pages are sufficient for 95% of
> scenarios. This value can be adjusted from the module parameter. The
> default value is 0.
>
> This patch currently only supports the LZ4 decompressor, other
> decompressors will be supported in the next step.
>
> Signed-off-by: Chunhai Guo <guochunhai at vivo.com>
This patch looks good to me, yet we're in the merge window for v6.8.
I will address it after -rc1 is out since no stable tag these days.
Also it would be better to add some results of changing max_distance
if you have more time to test.
Thanks,
Gao Xiang
More information about the Linux-erofs
mailing list