LWN.net Logo

writeback fixes and cleanups for 2.6.40 (v3)

From:  Wu Fengguang <fengguang.wu@intel.com>
To:  Andrew Morton <akpm@linux-foundation.org>
Subject:  [PATCH 00/18] writeback fixes and cleanups for 2.6.40 (v3)
Date:  Fri, 20 May 2011 05:45:30 +0800
Message-ID:  <20110519214530.939830917@intel.com>
Cc:  Jan Kara <jack@suse.cz>
Archive-link:  Article, Thread

Andrew,

This is the combination of all the recent writeback patches that get
reasonably reviewed and tested.

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 8 patches were posted and reviewed these days:

	[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: make writeback_control.nr_to_write straight
	[PATCH 15/18] writeback: remove .nonblocking and .encountered_congestion
	[PATCH 16/18] writeback: trace event writeback_single_inode
	[PATCH 17/18] writeback: trace event writeback_queue_io
	[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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds