[GIT PULL] writeback changes for 3.1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

Please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/wfg/writeback.git  for-linus

Besides the less interesting tweaks on writeback queues and
dirty balancing, there are two remarkable changes:

- split the global inode_wb_list_lock (which is highly contented in
  small file writeback) into per-bdi list_lock, which helps JBOD setup

- write bandwidth estimation, based on which the writeback chunk size is
  increased from 4MB to 0.5 seconds worth of data. Note that ext4 already
  use 128MB write chunk size internally, so won't easily see the difference

There will be merge conflicts with commit 12ad3ab661 ("superblock:
move pin_sb_for_writeback() to fs/super.c"). If you want it, I can
resolve the conflicts either by a rebase, or by doing a local merge
into a new local branch:

        git checkout master
        git pull linus master

        git branch for-linus-clean
        git checkout for-linus-clean

        git merge for-linus # and resolve conflicts by myself

I feel sorry for the last minute changes to the last two commits. They
are for doing a trivial variable rename.

Shortlog:

Christoph Hellwig (1):
      writeback: split inode_wb_list_lock into bdi_writeback.list_lock

Jan Kara (2):
      writeback: account per-bdi accumulated written pages
      mm: properly reflect task dirty limits in dirty_exceeded logic

Wu Fengguang (24):
      writeback: introduce .tagged_writepages for the WB_SYNC_NONE sync stage
      writeback: update dirtied_when for synced inode to prevent livelock
      writeback: introduce writeback_control.inodes_written
      writeback: try more writeback as long as something was written
      writeback: the kupdate expire timestamp should be a moving target
      writeback: refill b_io iff empty
      writeback: elevate queue_io() into wb_writeback()
      writeback: avoid extra sync work at enqueue time
      writeback: add bdi_dirty_limit() kernel-doc
      writeback: skip balance_dirty_pages() for in-memory fs
      writeback: remove writeback_control.more_io
      writeback: remove .nonblocking and .encountered_congestion
      writeback: trace event writeback_single_inode
      writeback: trace event writeback_queue_io
      writeback: skip tmpfs early in balance_dirty_pages_ratelimited_nr()
      writeback: make writeback_control.nr_to_write straight
      writeback: bdi write bandwidth estimation
      writeback: show bdi write bandwidth in debugfs
      writeback: consolidate variable names in balance_dirty_pages()
      writeback: introduce smoothed global dirty limit
      writeback: introduce max-pause and pass-good dirty limits
      writeback: trace global_dirty_state
      writeback: scale IO chunk size up to half device bandwidth
      writeback: don't busy retry writeback on new/freeing inodes

Diffstat:

 fs/block_dev.c                   |   16 +-
 fs/btrfs/extent_io.c             |    2 -
 fs/ext4/inode.c                  |    4 +-
 fs/fs-writeback.c                |  373 +++++++++++++++++++++-----------------
 fs/inode.c                       |    5 +-
 fs/nfs/write.c                   |    3 +-
 fs/xfs/linux-2.6/xfs_aops.c      |    2 +-
 include/linux/backing-dev.h      |    8 +
 include/linux/writeback.h        |   55 +++++--
 include/trace/events/btrfs.h     |    6 +-
 include/trace/events/ext4.h      |    6 +-
 include/trace/events/writeback.h |  183 +++++++++++++++++--
 mm/backing-dev.c                 |   82 ++++++---
 mm/filemap.c                     |    6 +-
 mm/page-writeback.c              |  280 +++++++++++++++++++++++++----
 mm/rmap.c                        |    4 +-
 16 files changed, 748 insertions(+), 287 deletions(-)

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux