mbox series

[v3,0/2] Separate xfs_log_vec/iovec to save memory

Message ID 20240626044909.15060-1-alexjlzheng@tencent.com (mailing list archive)
Headers show
Series Separate xfs_log_vec/iovec to save memory | expand

Message

Jinliang Zheng June 26, 2024, 4:49 a.m. UTC
From: Jinliang Zheng <alexjlzheng@tencent.com>

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@tencent.com/

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@tencent.com/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(-)