summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavidlohr Bueso <dave@stgolabs.net>2014-12-12 16:54:27 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-12-13 12:42:45 -0800
commit3dec0ba0be6a532cac949e02b853021bf6d57dad (patch)
tree1b93971a14bc6038bd2b22a6bad16e0961cc46f9 /include
parentc8c06efa8b552608493b7066c234cfa82c47fcea (diff)
downloadlinux-stable-3dec0ba0be6a532cac949e02b853021bf6d57dad.tar.gz
linux-stable-3dec0ba0be6a532cac949e02b853021bf6d57dad.tar.bz2
linux-stable-3dec0ba0be6a532cac949e02b853021bf6d57dad.zip
mm/rmap: share the i_mmap_rwsem
Similarly to the anon memory counterpart, we can share the mapping's lock ownership as the interval tree is not modified when doing doing the walk, only the file page. Signed-off-by: Davidlohr Bueso <dbueso@suse.de> Acked-by: Rik van Riel <riel@redhat.com> Acked-by: "Kirill A. Shutemov" <kirill@shutemov.name> Acked-by: Hugh Dickins <hughd@google.com> Cc: Oleg Nesterov <oleg@redhat.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Acked-by: Mel Gorman <mgorman@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/fs.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 6abcd0b72ae0..1d1838de6882 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -478,6 +478,16 @@ static inline void i_mmap_unlock_write(struct address_space *mapping)
up_write(&mapping->i_mmap_rwsem);
}
+static inline void i_mmap_lock_read(struct address_space *mapping)
+{
+ down_read(&mapping->i_mmap_rwsem);
+}
+
+static inline void i_mmap_unlock_read(struct address_space *mapping)
+{
+ up_read(&mapping->i_mmap_rwsem);
+}
+
/*
* Might pages of this file be mapped into userspace?
*/