diff options
author | Dave Chinner <dchinner@redhat.com> | 2011-07-08 00:14:39 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-07-20 01:44:35 -0400 |
commit | 98b745c647a5a90c3c21ea43cbfad9a47b0dfad7 (patch) | |
tree | 08917a620b6d15076223c1ef75996a1a76a13abd /include/linux/fs.h | |
parent | fcb94f72d3e0f4f34b326c2986da8e5996daf72c (diff) |
inode: Make unused inode LRU per superblock
The inode unused list is currently a global LRU. This does not match
the other global filesystem cache - the dentry cache - which uses
per-superblock LRU lists. Hence we have related filesystem object
types using different LRU reclaimation schemes.
To enable a per-superblock filesystem cache shrinker, both of these
caches need to have per-sb unused object LRU lists. Hence this patch
converts the global inode LRU to per-sb LRUs.
The patch only does rudimentary per-sb propotioning in the shrinker
infrastructure, as this gets removed when the per-sb shrinker
callouts are introduced later on.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index a0011aef4338..9724f0a48742 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1397,6 +1397,10 @@ struct super_block { | |||
1397 | struct list_head s_dentry_lru; /* unused dentry lru */ | 1397 | struct list_head s_dentry_lru; /* unused dentry lru */ |
1398 | int s_nr_dentry_unused; /* # of dentry on lru */ | 1398 | int s_nr_dentry_unused; /* # of dentry on lru */ |
1399 | 1399 | ||
1400 | /* inode_lru_lock protects s_inode_lru and s_nr_inodes_unused */ | ||
1401 | struct list_head s_inode_lru; /* unused inode lru */ | ||
1402 | int s_nr_inodes_unused; /* # of inodes on lru */ | ||
1403 | |||
1400 | struct block_device *s_bdev; | 1404 | struct block_device *s_bdev; |
1401 | struct backing_dev_info *s_bdi; | 1405 | struct backing_dev_info *s_bdi; |
1402 | struct mtd_info *s_mtd; | 1406 | struct mtd_info *s_mtd; |