writeback fixes and cleanups for 2.6.40 (v4)
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest18 patches 6 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/18 | writeback: introduce .tagged_writepages for the WB_SYNC_NONE sync stagefs/ fs/ include/ +1 more | +14 | 0 replies | |
| 2/18 | writeback: update dirtied_when for synced inode to prevent livelockfs/ | +9 | 0 replies | |
| 3/18 | writeback: introduce writeback_control.inodes_cleanedfs/ include/ | +5 | 0 replies | |
| 4/18 | writeback: try more writeback as long as something was writtenfs/ | +8 | 0 replies | |
| 5/18 | writeback: the kupdate expire timestamp should be a moving targetfs/ | +6 | 0 replies | |
| 6/18 | writeback: sync expired inodes first in background writebackfs/ | +15 | 5 replies | |
| 7/18 | writeback: refill b_io iff emptyfs/ | +3 | 0 replies | |
| 8/18 | writeback: split inode_wb_list_lock into bdi_writeback.list_lockfs/ fs/ fs/ +5 more | +85 | 0 replies | |
| 9/18 | writeback: elevate queue_io() into wb_writeback()fs/ | +12 | 0 replies | |
| 10/18 | writeback: avoid extra sync work at enqueue timefs/ include/ | +3 | 0 replies | |
| 11/18 | writeback: add bdi_dirty_limit() kernel-docmm/ | +9 | 0 replies | |
| 12/18 | writeback: skip balance_dirty_pages() for in-memory fsmm/ | +4 | 0 replies | |
| 13/18 | writeback: remove writeback_control.more_iofs/ include/ include/ +1 more | +5 | 0 replies | |
| 14/18 | writeback: remove .nonblocking and .encountered_congestionfs/ fs/ include/ +1 more | +4 | 0 replies | |
| 15/18 | writeback: trace event writeback_single_inodefs/ include/ | +74 | 0 replies | |
| 16/18 | writeback: trace event writeback_queue_iofs/ include/ | +35 | 0 replies | |
| 17/18 | writeback: make writeback_control.nr_to_write straightfs/ fs/ include/ +3 more | +147 | 0 replies | |
| 18/18 | writeback: rearrange the wb_writeback() loopfs/ | +31 | 0 replies |
Reviews trailers per patch
14 of 18 patches have a Reviewed-by or Acked-by.
| Patch | Jan Kara | Mel Gorman | Rik van Riel | Peter Zijlstra | Minchan Kim | Christoph Hellwig | Dave Chinner |
|---|---|---|---|---|---|---|---|
| 1/18 | A-b | ||||||
| 2/18 | R-b | ||||||
| 3/18 | A-b | A-b | |||||
| 4/18 | A-b | ||||||
| 5/18 | A-b | A-b | |||||
| 6/18 | A-b | A-b | A-b | ||||
| 7/18 | A-b | ||||||
| 8/18 | |||||||
| 9/18 | A-b | ||||||
| 10/18 | A-b | ||||||
| 11/18 | A-b | A-b | |||||
| 12/18 | A-b | A-b | R-b | ||||
| 13/18 | A-b | A-b | R-b | ||||
| 14/18 | R-b | Proposed-by | |||||
| 15/18 | |||||||
| 16/18 | |||||||
| 17/18 | A-b | Proposed-by | |||||
| 18/18 | Proposed-by |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 7 reviewers.
Cover letter [PATCH 00/18] writeback fixes and cleanups for 2.6.40 (v4)
Andrew,
The first 10 patches are already in -mm tree, with updates:
- remove "writeback: pass writeback_control down to move_expired_inodes()", and resolve the resulting merge conflicts in other patches.
- move ahead the sync livelock prevention patches (01, 02) so that (04) won't livelock sync
- merge the three -mm fixes to (08)
- fixed changelog of (01)
- rename .for_sync to .tagged_writepages
[PATCH 01/18] writeback: introduce .tagged_writepages for the WB_SYNC_NONE sync stage [PATCH 02/18] writeback: update dirtied_when for synced inode to prevent livelock [PATCH 03/18] writeback: introduce writeback_control.inodes_cleaned [PATCH 04/18] writeback: try more writeback as long as something was written [PATCH 05/18] writeback: the kupdate expire timestamp should be a moving target [PATCH 06/18] writeback: sync expired inodes first in background writeback [PATCH 07/18] writeback: refill b_io iff empty
[PATCH 08/18] writeback: split inode_wb_list_lock into bdi_writeback.list_lock [PATCH 09/18] writeback: elevate queue_io() into wb_writeback()
[PATCH 10/18] writeback: avoid extra sync work at enqueue time
The following 6 patches are trivial and safe
[PATCH 11/18] writeback: add bdi_dirty_limit() kernel-doc [PATCH 12/18] writeback: skip balance_dirty_pages() for in-memory fs [PATCH 13/18] writeback: remove writeback_control.more_io [PATCH 14/18] writeback: remove .nonblocking and .encountered_congestion [PATCH 15/18] writeback: trace event writeback_single_inode [PATCH 16/18] writeback: trace event writeback_queue_io
Patch 17 is a bit more complex
[PATCH 17/18] writeback: make writeback_control.nr_to_write straight [PATCH 18/18] writeback: rearrange the wb_writeback() loop
Thanks to Jan and Dave for the careful reviews!
The patches are git pullable from
git://git.kernel.org/pub/scm/linux/kernel/git/wfg/writeback.git fs-writeback
fs/block_dev.c | 16 +- fs/btrfs/extent_io.c | 2 - fs/ext4/inode.c | 4 +- fs/fs-writeback.c | 411 +++++++++++++++++++++----------------- fs/inode.c | 5 +- fs/nfs/write.c | 3 +- fs/xfs/linux-2.6/xfs_aops.c | 2 +- include/linux/backing-dev.h | 2 + include/linux/writeback.h | 14 +- include/trace/events/btrfs.h | 6 +- include/trace/events/ext4.h | 6 +- include/trace/events/writeback.h | 137 ++++++++++++-- mm/backing-dev.c | 30 ++- mm/filemap.c | 6 +- mm/page-writeback.c | 42 ++-- mm/rmap.c | 4 +- 16 files changed, 420 insertions(+), 270 deletions(-)
Thanks,
Fengguang