inode: convert inode_sb_list_lock to per-sb

The process of reducing contention on per-superblock inode lists
starts with moving the locking to match the per-superblock inode
list. This takes the global lock out of the picture and reduces the
contention problems to within a single filesystem. This doesn't get
rid of contention as the locks still have global CPU scope, but it
does isolate operations on different superblocks form each other.

Signed-off-by: Dave Chinner <[email protected]>
Signed-off-by: Josef Bacik <[email protected]>
Reviewed-by: Jan Kara <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Tested-by: Dave Chinner <[email protected]>
This commit is contained in:
Dave Chinner 2015-03-04 12:37:22 -05:00 • committed by Josef Bacik
commit 74278da9f7
10 changed files with 57 additions and 54 deletions

View file

@ -112,7 +112,6 @@ extern int vfs_open(const struct path *, struct file *, const struct cred *);
/*
* inode.c
*/
extern spinlock_t inode_sb_list_lock;
extern long prune_icache_sb(struct super_block *sb, struct shrink_control *sc);
extern void inode_add_lru(struct inode *inode);