[PATCH v3 0/2] Separate xfs_log_vec/iovec to save memory
From: alexjlzheng
Date: Wed Jun 26 2024 - 00:49:23 EST
From: Jinliang Zheng <alexjlzheng@xxxxxxxxxxx>
xfs_log_iovec dominates the memory usage of the
xfs_log_vec/xfs_log_iovec combination, and it is no longer useful after
the data is flushed to the iclog. This patchset separates xfs_log_iovec
from xfs_log_vec and releases them early to save memory.
Changelog:
V1:
- https://lore.kernel.org/linux-xfs/20240623123119.3562031-1-alexjlzheng@xxxxxxxxxxx/
V2:
- add kmem_cache for small object xfs_log_vec
- reduce redundant free and allocation of xfs_log_vec
- https://lore.kernel.org/linux-xfs/20240625182842.1038809-3-alexjlzheng@xxxxxxxxxxx/T/#u
V3:
- simplify code for same or smaller
- fix warning: unused variable 'lvec' [-Wunused-variable] in
xlog_finish_iovec
Jinliang Zheng (2):
xfs: add xfs_log_vec_cache for separate xfs_log_vec/xfs_log_iovec
xfs: make xfs_log_iovec independent from xfs_log_vec and free it early
fs/xfs/xfs_log.c | 3 +++
fs/xfs/xfs_log.h | 10 ++++++++--
fs/xfs/xfs_log_cil.c | 34 ++++++++++++++++++++--------------
fs/xfs/xfs_super.c | 9 +++++++++
4 files changed, 40 insertions(+), 16 deletions(-)
--
2.41.1