Skip to content

writeback: avoid touching dirtied_when on blocked inodes

Wu Fengguang linux-fsdevel lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 14 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7writeback: introduce queue b_more_io_waitfs/fs-writeback.c include/linux/backing-dev.h mm/backing-dev.c+29 -51 reply
2/7writeback: avoid redirtying when ->write_inode failed to clear I_DIRTYfs/fs-writeback.c+11 -11 reply
3/7writeback: update wb->last_active on written pages/inodesfs/fs-writeback.c+7 -60 replies
4/7writeback: Retry kupdate work early if we need to retry some inode writebackfs/fs-writeback.c+13 -40 replies
5/7writeback: requeue_io_wait() on pages_skipped inodefs/fs-writeback.c+1 -11 reply
6/7writeback: requeue_io_wait() on blocked inodefs/fs-writeback.c+1 -11 reply
7/7writeback: requeue_io_wait() when failed to grab superblockfs/fs-writeback.c+1 -11 reply

Reviews trailers per patch

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

PatchJan Kara
1/7A-b
2/7A-b
3/7
4/7
5/7A-b
6/7A-b
7/7A-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/7] writeback: avoid touching dirtied_when on blocked inodes

Hi,

This tries to keep dirtied_when for blocked inodes by converting some redirty_tail() calls to requeue_io_wait(). The possibly blocked inodes will be moved to b_more_io_wait. The b_more_io_wait inodes will now be retried as dillegent as b_more_io inodes, except when the latter goes empty, b_more_io_wait will be retried by the kupdate work on increasing intervals until exceeding dirty_writeback_interval.

Christoph Hellwig (1):

      writeback: avoid redirtying when ->write_inode failed to clear I_DIRTY

Jan Kara (2):
writeback: update wb->last_active on written pages/inodes
writeback: Retry kupdate work early if we need to retry some inode writeback

Wu Fengguang (4):
writeback: introduce queue b_more_io_wait
writeback: requeue_io_wait() on pages_skipped inode
writeback: requeue_io_wait() on blocked inode
writeback: requeue_io_wait() when failed to grab superblock

 fs/fs-writeback.c           |   62 ++++++++++++++++++++++++++++++++++---------
 include/linux/backing-dev.h |    8 +++--
 mm/backing-dev.c            |   10 +++++-
 3 files changed, 62 insertions(+), 18 deletions(-)

Thanks,
Fengguang