Commit 30269ceb authored by Chao Yu's avatar Chao Yu Committed by Sandeep Dhavale
Browse files

BACKPORT: erofs: support to readahead dirent blocks in erofs_readdir()



This patch supports to readahead more blocks in erofs_readdir(), it can
enhance readdir performance in large direcotry.

readdir test in a large directory which contains 12000 sub-files.

files_per_second Before: 926385.54 After: 2380435.562

Meanwhile, let's introduces a new sysfs entry to control readahead bytes
to provide more flexible policy for readahead of readdir().
- location: /sys/fs/erofs/<disk>/dir_ra_bytes
- default value: 16384
- disable readahead: set the value to 0

Bug: 407861253
(cherry picked from commit df0ce6ce)
Change-Id: I0b52529cebce61f598dda33244ae257d5f5e1320
[Chao: resolve the conflict]
Signed-off-by: default avatarChao Yu <chao@kernel.org>
Reviewed-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20250721021352.2495371-1-chao@kernel.org


[ Gao Xiang: minor styling adjustment. ]
Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
Signed-off-by: default avatarChao Yu <chao@kernel.org>
parent 74a46084
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment