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