diff options
author | Dave Chinner <dchinner@redhat.com> | 2011-07-08 00:14:46 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-07-20 20:47:42 -0400 |
commit | 8daaa83145ef1f0a146680618328dbbd0fa76939 (patch) | |
tree | 8ca49f03ed2fc4dada7283a6e109b13e3fb5501e /fs/xfs/linux-2.6/xfs_sync.h | |
parent | 8ab47664d51a69ea79fe70bb07ca80664f74f76b (diff) |
xfs: make use of new shrinker callout for the inode cache
Convert the inode reclaim shrinker to use the new per-sb shrinker
operations. This allows much bigger reclaim batches to be used, and
allows the XFS inode cache to be shrunk in proportion with the VFS
dentry and inode caches. This avoids the problem of the VFS caches
being shrunk significantly before the XFS inode cache is shrunk
resulting in imbalances in the caches during reclaim.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_sync.h')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_sync.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_sync.h b/fs/xfs/linux-2.6/xfs_sync.h index e3a6ad27415f..2e1568597764 100644 --- a/fs/xfs/linux-2.6/xfs_sync.h +++ b/fs/xfs/linux-2.6/xfs_sync.h | |||
@@ -43,6 +43,8 @@ void xfs_quiesce_attr(struct xfs_mount *mp); | |||
43 | void xfs_flush_inodes(struct xfs_inode *ip); | 43 | void xfs_flush_inodes(struct xfs_inode *ip); |
44 | 44 | ||
45 | int xfs_reclaim_inodes(struct xfs_mount *mp, int mode); | 45 | int xfs_reclaim_inodes(struct xfs_mount *mp, int mode); |
46 | int xfs_reclaim_inodes_count(struct xfs_mount *mp); | ||
47 | void xfs_reclaim_inodes_nr(struct xfs_mount *mp, int nr_to_scan); | ||
46 | 48 | ||
47 | void xfs_inode_set_reclaim_tag(struct xfs_inode *ip); | 49 | void xfs_inode_set_reclaim_tag(struct xfs_inode *ip); |
48 | void __xfs_inode_set_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip); | 50 | void __xfs_inode_set_reclaim_tag(struct xfs_perag *pag, struct xfs_inode *ip); |
@@ -54,7 +56,4 @@ int xfs_inode_ag_iterator(struct xfs_mount *mp, | |||
54 | int (*execute)(struct xfs_inode *ip, struct xfs_perag *pag, int flags), | 56 | int (*execute)(struct xfs_inode *ip, struct xfs_perag *pag, int flags), |
55 | int flags); | 57 | int flags); |
56 | 58 | ||
57 | void xfs_inode_shrinker_register(struct xfs_mount *mp); | ||
58 | void xfs_inode_shrinker_unregister(struct xfs_mount *mp); | ||
59 | |||
60 | #endif | 59 | #endif |