mm: use new helper functions around the i_mmap_mutex
Convert all open coded mutex_lock/unlock calls to the i_mmap_[lock/unlock]_write() helpers. 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>
This commit is contained in:

committed by
Linus Torvalds

parent
8b28f621be
commit
83cde9e8ba
14
mm/mmap.c
14
mm/mmap.c
@@ -260,9 +260,9 @@ void unlink_file_vma(struct vm_area_struct *vma)
|
||||
|
||||
if (file) {
|
||||
struct address_space *mapping = file->f_mapping;
|
||||
mutex_lock(&mapping->i_mmap_mutex);
|
||||
i_mmap_lock_write(mapping);
|
||||
__remove_shared_vm_struct(vma, file, mapping);
|
||||
mutex_unlock(&mapping->i_mmap_mutex);
|
||||
i_mmap_unlock_write(mapping);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -674,14 +674,14 @@ static void vma_link(struct mm_struct *mm, struct vm_area_struct *vma,
|
||||
|
||||
if (vma->vm_file) {
|
||||
mapping = vma->vm_file->f_mapping;
|
||||
mutex_lock(&mapping->i_mmap_mutex);
|
||||
i_mmap_lock_write(mapping);
|
||||
}
|
||||
|
||||
__vma_link(mm, vma, prev, rb_link, rb_parent);
|
||||
__vma_link_file(vma);
|
||||
|
||||
if (mapping)
|
||||
mutex_unlock(&mapping->i_mmap_mutex);
|
||||
i_mmap_unlock_write(mapping);
|
||||
|
||||
mm->map_count++;
|
||||
validate_mm(mm);
|
||||
@@ -796,7 +796,7 @@ again: remove_next = 1 + (end > next->vm_end);
|
||||
next->vm_end);
|
||||
}
|
||||
|
||||
mutex_lock(&mapping->i_mmap_mutex);
|
||||
i_mmap_lock_write(mapping);
|
||||
if (insert) {
|
||||
/*
|
||||
* Put into interval tree now, so instantiated pages
|
||||
@@ -883,7 +883,7 @@ again: remove_next = 1 + (end > next->vm_end);
|
||||
anon_vma_unlock_write(anon_vma);
|
||||
}
|
||||
if (mapping)
|
||||
mutex_unlock(&mapping->i_mmap_mutex);
|
||||
i_mmap_unlock_write(mapping);
|
||||
|
||||
if (root) {
|
||||
uprobe_mmap(vma);
|
||||
@@ -3182,7 +3182,7 @@ static void vm_unlock_mapping(struct address_space *mapping)
|
||||
* AS_MM_ALL_LOCKS can't change to 0 from under us
|
||||
* because we hold the mm_all_locks_mutex.
|
||||
*/
|
||||
mutex_unlock(&mapping->i_mmap_mutex);
|
||||
i_mmap_unlock_write(mapping);
|
||||
if (!test_and_clear_bit(AS_MM_ALL_LOCKS,
|
||||
&mapping->flags))
|
||||
BUG();
|
||||
|
Reference in New Issue
Block a user