[PATCHSET v29.0 24/40] libxfs: cache xfile pages for better performance

Darrick J. Wong
2023-12-31T19:45:57Z

Hi all,

Congratulations! You have made it to the final patchset of the main
online fsck feature! This last series improves the performance of
xfile-backed btrees by teaching the buffer cache to directly map pages
from the xfile. It also speeds up xfarray operations substantially by
implementing a small page cache to avoid repeated kmap/kunmap calls.
Collectively, these can reduce the runtime of online repair functions by
twenty percent or so.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems. Enjoy!
Comments and questions are, as always, welcome.

--D

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=xfile-page-caching

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=xfile-page-caching
---
libxfs/xfs_btree_mem.h | 6 ++++++
libxfs/xfs_rmap_btree.c | 1 +
2 files changed, 7 insertions(+)