inode: convert inode_sb_list_lock to per-sb
authorDave Chinner <dchinner@redhat.com>
Wed, 4 Mar 2015 17:37:22 +0000 (12:37 -0500)
committerJosef Bacik <jbacik@fb.com>
Mon, 17 Aug 2015 22:39:46 +0000 (18:39 -0400)
commit74278da9f70d84d715601fe794567a6d2bfdf078
tree49262a88fc42b85bfe4930f5cd7a832d5ba647c6
parentcbedaac63481dea52327127a9f1c60f092bd6b07
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 <dchinner@redhat.com>
Signed-off-by: Josef Bacik <jbacik@fb.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Tested-by: Dave Chinner <dchinner@redhat.com>
fs/block_dev.c
fs/drop_caches.c
fs/fs-writeback.c
fs/inode.c
fs/internal.h
fs/notify/inode_mark.c
fs/quota/dquot.c
fs/super.c
include/linux/fs.h
include/linux/fsnotify_backend.h