Hi folks, These are the fixes and cleanups that are part of the non-blocking inode reclaim series I've (slowly) been working on. These fixes and cleanups stand alone, many have already been reviewed, and getting them out of the non-blocking reclaim patchset makes that a much smaller and easier to digest set of patches. The changes in this patchset are for: - limiting the size of checkpoints that the CIL builds to reduce the memory it pins and the latency of commits. - cleaning up the AIL item removal code so we can reduce the number of tail LSN updates to prevent unnecessary thundering herd wakeups - account for reclaimable slab caches in XFS correctly - account for reclaimed pages from buffers correctly - avoiding log IO priority inversions - factoring the inode cluster deletion code to make it more readable and easier to modify for the non-blocking inode reclaim mods. Thoughts, comments and improvemnts welcome. -Dave. Dave Chinner (8): xfs: Lower CIL flush limit for large logs xfs: Throttle commits on delayed background CIL push xfs: don't allow log IO to be throttled xfs: Improve metadata buffer reclaim accountability xfs: correctly acount for reclaimable slabs xfs: factor common AIL item deletion code xfs: tail updates only need to occur when LSN changes xfs: factor inode lookup from xfs_ifree_cluster fs/xfs/xfs_buf.c | 11 ++- fs/xfs/xfs_inode.c | 152 ++++++++++++++++++++++------------------ fs/xfs/xfs_inode_item.c | 28 ++++---- fs/xfs/xfs_log.c | 10 ++- fs/xfs/xfs_log_cil.c | 37 ++++++++-- fs/xfs/xfs_log_priv.h | 53 ++++++++++++-- fs/xfs/xfs_super.c | 3 +- fs/xfs/xfs_trace.h | 1 + fs/xfs/xfs_trans_ail.c | 88 ++++++++++++++--------- fs/xfs/xfs_trans_priv.h | 6 +- 10 files changed, 257 insertions(+), 132 deletions(-) -- 2.26.0.rc2