From: Wu Fengguang <fengguang.wu@intel.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: [GIT PULL] writeback changes for 3.1
Date: Tue, 26 Jul 2011 16:38:48 +0800 [thread overview]
Message-ID: <20110726083848.GA8366@localhost> (raw)
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
next reply other threads:[~2011-07-26 8:38 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-26 8:38 Wu Fengguang [this message]
2011-07-26 9:14 ` [GIT PULL] writeback changes for 3.1 Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110726083848.GA8366@localhost \
--to=fengguang.wu@intel.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).