[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111102030016.GA23054@localhost>
Date: Wed, 2 Nov 2011 11:00:16 +0800
From: Wu Fengguang <fengguang.wu@...el.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: FS <linux-fsdevel@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: [PULL REQUEST] writeback changes for 3.2-rc1
Hi Linus,
The following changes since commit 9b13776977d45505469edc6decc93e9e3799afe2:
Merge branch 'for-linus' of git://git.infradead.org/users/sameo/mfd-2.6 (2011-10-02 19:23:44 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux.git writeback-for-linus
There are two patch series:
1) IO-less dirty throttling
By not submitting writeback IO from the dirtier tasks' context,
IO seeks _and_ CPU contentions could be greatly reduced.
Users may also notice much smoothed pause times in balance_dirty_pages()
and hence in the write() syscall, especially in cases NFS, JBOD and 2+
concurrent dd's. This will in general reduce stalls in the "pipeline"
type workloads that have the write() syscall inside its loop, such as
loop {
read() from network
write() to disk
}
The change will inevitably trigger regressions in some FS and/or
unknown workloads. However I've managed to address the known issues
and built the tracing/visualization scripts for debugging new ones
in the easy way :-)
2) report writeback reason in tracing events
I apologize for rebasing the writeback reason patches, which would
otherwise cost a merge commit. Either way is not good and I'll take
care next time to make the multiple topic branches either
fast-forwardable or base one series on top of the other.
Curt Wohlgemuth (2):
writeback: send work item to queue_io, move_expired_inodes
writeback: Add a 'reason' to wb_writeback_work
Wu Fengguang (14):
writeback: account per-bdi accumulated dirtied pages
writeback: dirty position control
writeback: add bg_threshold parameter to __bdi_update_bandwidth()
writeback: dirty rate control
writeback: stabilize bdi->dirty_ratelimit
writeback: per task dirty rate limit
writeback: IO-less balance_dirty_pages()
writeback: limit max dirty pause time
writeback: control dirty pause time
writeback: dirty position control - bdi reserve area
writeback: per-bdi background threshold
writeback: fix ppc compile warnings on do_div(long long, unsigned long)
writeback: trace event bdi_dirty_ratelimit
writeback: trace event balance_dirty_pages
fs/btrfs/extent-tree.c | 3 +-
fs/buffer.c | 2 +-
fs/ext4/inode.c | 2 +-
fs/fs-writeback.c | 84 +++--
fs/quota/quota.c | 2 +-
fs/sync.c | 4 +-
fs/ubifs/budget.c | 2 +-
include/linux/backing-dev.h | 14 +-
include/linux/sched.h | 7 +
include/linux/writeback.h | 33 ++-
include/trace/events/writeback.h | 161 +++++++--
kernel/fork.c | 3 +
mm/backing-dev.c | 7 +-
mm/page-writeback.c | 704 ++++++++++++++++++++++++++++++--------
mm/vmscan.c | 3 +-
15 files changed, 806 insertions(+), 225 deletions(-)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Commit 0e175a1835ffc979e55787774e58ec79e41957d7
from git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux.git
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
iQIcBAEBAgAGBQJOr4+qAAoJECvKgwp+S8JafoYP/39roT/zsKkrm1wi0wb22x/P
8EcRZAzZLCk/sxu0Hdzqvs2rcf5kqHrWOXX4r+9KI5IvrI1NiTdhvNdn68ui5RT8
iRXC3F+3pIBDIjToEfYlgDuzjucD86mHowIIKIylc7KzC6hJS9EUy39+xFET5moY
gfvKsSVWtkVb61sci9rvKl/n416PLnKTBzdMZSiQEKf6mh3/kXrSxv/mUvdzeo2n
pHA+P3h7pSvXRDsrVo+SA+8e0jwuZc+UoHVCgYaVrRVffP8TNvw4WEyRQHBo0fu7
S3dUtXqMNGAyYvtZ2wIPTJ6TOLaDIm+AcsllywozjGK+mFMUTeXH5XbFvYiMnnJj
N8YHTTZwlpjUfEdVihgSEFMTYBRt4QfaShHiJ+oFo/98uU4INzJyQZ5hqWsvDmcy
cuZrXZoyJY5dG+HHUspS93jFjD5XuArcbDDckKnwkWcejSgHd/vX8fFoTm5C/xyy
NQjPSZrRui/za/2CWkmkHu1OA+WWhSqoRWm5LxXA00IWSmFaMaUL8+XHnPGb2vQq
aCpH42zm7bVvWD9NqXIfmlNysuhgKTparFFald1MwmE20wCIEvZ5wqm1NcGI9LbI
1S6Mus6s/lBEtrzLh1YRbW2PzA57wlVfRjRz3+v0R1hlrT64r8Jr4fV+3Vbi4b+W
WVxc0Qpw9HVuOJ+uFjhs
=W8+G
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists