]> git.baikalelectronics.ru Git - kernel.git/commit
inode: Make unused inode LRU per superblock
authorDave Chinner <dchinner@redhat.com>
Fri, 8 Jul 2011 04:14:39 +0000 (14:14 +1000)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 20 Jul 2011 05:44:35 +0000 (01:44 -0400)
commitc6606cb5ec218f454ab27b7c17185399ae93fb15
tree08917a620b6d15076223c1ef75996a1a76a13abd
parent12b5b38222da54d38a9bc1c6ac5ce1a6f173f25a
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>
fs/inode.c
fs/super.c
include/linux/fs.h