From: Dave Chinner <david@fromorbit.com>
To: viro@ZenIV.linux.org.uk
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org
Subject: [PATCH 0/14] Per superblock cache reclaim
Date: Fri, 8 Jul 2011 14:14:32 +1000 [thread overview]
Message-ID: <1310098486-6453-1-git-send-email-david@fromorbit.com> (raw)
This series converts the VFS cache shrinkers to a per-superblock
shrinker, and provides a callout from the superblock shrinker to
allow the filesystem to shrink internal caches proportionally to the
amount of reclaim done to the VFS caches.
The original posting contains the motiviation, benefits, performance,
etc, and rather than repeat it all, just look here:
https://lkml.org/lkml/2011/6/2/42
The version has been rebased onto the untested branch in Al's VFS
git tree, fixes the review comments from the first version, and
has had much more testing under different workloads.
---
Version 2:
o rebase onto Al's #untested branch
o fix build problem in Al's untested branch
o move all slab shrinker modifications tracepoints into a single
patch.
o renames some of the tracepoint variables to be more obvious as to
what they are recording.
o move pin_sb_for_writeback() to fs/super.c and rename it to
grab_super_passive() so the shrinker and writeback use the same
passive reference counting and unmount detection
o rework per-superblock shrinker to use grab_super_passive()
o minor typo fixes in commit messages, documentation and commit
messages
---
When the git mirror updates, this patchset will also be available in
the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/dgc/xfsdev.git per-sb-shrinker
If you get a version based on the current Linus tree, then it hasn't
updated yet....
Dave Chinner (14):
dcache: fix __d_alloc prototype to use const
vmscan: add shrink_slab tracepoints
vmscan: shrinker->nr updates race and go wrong
vmscan: reduce wind up shrinker->nr when shrinker can't do work
vmscan: add customisable shrinker batch size
inode: convert inode_stat.nr_unused to per-cpu counters
inode: Make unused inode LRU per superblock
inode: move to per-sb LRU locks
superblock: move pin_sb_for_writeback() to fs/super.c
superblock: introduce per-sb cache shrinker infrastructure
inode: remove iprune_sem
superblock: add filesystem shrinker operations
vfs: increase shrinker batch size
xfs: make use of new shrinker callout for the inode cache
Documentation/filesystems/vfs.txt | 22 +++++++
fs/dcache.c | 121 ++++--------------------------------
fs/fs-writeback.c | 28 +--------
fs/inode.c | 124 ++++++++++++-------------------------
fs/internal.h | 3 +-
fs/libfs.c | 2 +
fs/super.c | 109 ++++++++++++++++++++++++++++++++-
fs/xfs/linux-2.6/xfs_super.c | 26 +++++---
fs/xfs/linux-2.6/xfs_sync.c | 71 ++++++++-------------
fs/xfs/linux-2.6/xfs_sync.h | 5 +-
include/linux/fs.h | 14 ++++
include/linux/mm.h | 1 +
include/trace/events/vmscan.h | 71 +++++++++++++++++++++
mm/vmscan.c | 71 +++++++++++++++++-----
14 files changed, 374 insertions(+), 294 deletions(-)
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2011-07-08 4:14 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-08 4:14 Dave Chinner [this message]
2011-07-08 4:14 ` [PATCH 01/14] dcache: fix __d_alloc prototype to use const Dave Chinner
2011-07-08 4:14 ` [PATCH 02/14] vmscan: add shrink_slab tracepoints Dave Chinner
2011-07-11 9:57 ` Christoph Hellwig
2011-07-18 1:14 ` Dave Chinner
2011-07-08 4:14 ` [PATCH 03/14] vmscan: shrinker->nr updates race and go wrong Dave Chinner
2011-07-08 4:14 ` [PATCH 04/14] vmscan: reduce wind up shrinker->nr when shrinker can't do work Dave Chinner
2011-07-08 4:14 ` [PATCH 05/14] vmscan: add customisable shrinker batch size Dave Chinner
2011-07-08 4:14 ` [PATCH 06/14] inode: convert inode_stat.nr_unused to per-cpu counters Dave Chinner
2011-07-08 4:14 ` [PATCH 07/14] inode: Make unused inode LRU per superblock Dave Chinner
2011-07-08 4:14 ` [PATCH 08/14] inode: move to per-sb LRU locks Dave Chinner
2011-07-11 19:21 ` Christoph Hellwig
2011-07-12 0:34 ` Dave Chinner
2011-07-08 4:14 ` [PATCH 09/14] superblock: move pin_sb_for_writeback() to fs/super.c Dave Chinner
2011-07-08 4:14 ` [PATCH 10/14] superblock: introduce per-sb cache shrinker infrastructure Dave Chinner
2011-07-08 4:14 ` [PATCH 11/14] inode: remove iprune_sem Dave Chinner
2011-07-08 4:14 ` [PATCH 12/14] superblock: add filesystem shrinker operations Dave Chinner
2011-07-08 4:14 ` [PATCH 13/14] vfs: increase shrinker batch size Dave Chinner
2011-07-11 10:05 ` Christoph Hellwig
2011-07-08 4:14 ` [PATCH 14/14] xfs: make use of new shrinker callout for the inode cache Dave Chinner
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=1310098486-6453-1-git-send-email-david@fromorbit.com \
--to=david@fromorbit.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=viro@ZenIV.linux.org.uk \
/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).