Skip to content

writeback: moving expire targets for background/kupdate works v2

Wu Fengguang linux-fsdevel linux-mm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 22 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6writeback: pass writeback_control down to move_expired_inodes()fs/fs-writeback.c+8 -82 replies
2/6writeback: introduce writeback_control.inodes_cleanedfs/fs-writeback.c include/linux/writeback.h+5 -04 replies
3/6writeback: try more writeback as long as something was writtenfs/fs-writeback.c+8 -80 replies
4/6writeback: the kupdate expire timestamp should be a moving targetfs/fs-writeback.c+6 -50 replies
5/6writeback: sync expired inodes first in background writebackfs/fs-writeback.c+15 -19 replies
6/6writeback: refill b_io iff emptyfs/fs-writeback.c+3 -210 replies

Reviews trailers per patch

5 of 6 patches have a Reviewed-by or Acked-by.

PatchJan KaraMel Gorman
1/6A-b A-b
2/6A-b A-b
3/6
4/6A-b A-b
5/6A-b
6/6A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/6] writeback: moving expire targets for background/kupdate works v2

Andrew,

This aims to reduce possible pageout() calls by making the flusher concentrate a bit more on old/expired dirty inodes.

Rationals and benchmark numbers are added in patches 05, 06.

It runs fine on simple workloads over ext3/4, xfs, btrfs and NFS.

code refactor
[PATCH 1/6] writeback: pass writeback_control down to move_expired_inodes()

loop condition fixes
[PATCH 2/6] writeback: introduce writeback_control.inodes_cleaned [PATCH 3/6] writeback: try more writeback as long as something was written

make dirty expire time a moving target
[PATCH 4/6] writeback: the kupdate expire timestamp should be a moving target [PATCH 5/6] writeback: sync expired inodes first in background writeback

consistent requeue policy
it's not an integral part of this patchset, however do depends on patch 03
[PATCH 6/6] writeback: refill b_io iff empty

Thanks,
Fengguang