Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 08b52706 authored by Konstantin Khlebnikov's avatar Konstantin Khlebnikov Committed by Linus Torvalds
Browse files

mm/rmap: rename anon_vma_unlock() => anon_vma_unlock_write()



The comment in commit 4fc3f1d6 ("mm/rmap, migration: Make
rmap_walk_anon() and try_to_unmap_anon() more scalable") says:

| Rename anon_vma_[un]lock() => anon_vma_[un]lock_write(),
| to make it clearer that it's an exclusive write-lock in
| that case - suggested by Rik van Riel.

But that commit renames only anon_vma_lock()

Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@openvz.org>
Cc: Ingo Molnar <mingo@kernel.org>
Reviewed-by: default avatarRik van Riel <riel@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent ec8acf20
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ extern void __split_huge_page_pmd(struct vm_area_struct *vma,
	do {								\
		pmd_t *____pmd = (__pmd);				\
		anon_vma_lock_write(__anon_vma);			\
		anon_vma_unlock(__anon_vma);				\
		anon_vma_unlock_write(__anon_vma);			\
		BUG_ON(pmd_trans_splitting(*____pmd) ||			\
		       pmd_trans_huge(*____pmd));			\
	} while (0)
+1 −1
Original line number Diff line number Diff line
@@ -123,7 +123,7 @@ static inline void anon_vma_lock_write(struct anon_vma *anon_vma)
	down_write(&anon_vma->root->rwsem);
}

static inline void anon_vma_unlock(struct anon_vma *anon_vma)
static inline void anon_vma_unlock_write(struct anon_vma *anon_vma)
{
	up_write(&anon_vma->root->rwsem);
}
+3 −3
Original line number Diff line number Diff line
@@ -1830,7 +1830,7 @@ int split_huge_page(struct page *page)

	BUG_ON(PageCompound(page));
out_unlock:
	anon_vma_unlock(anon_vma);
	anon_vma_unlock_write(anon_vma);
	put_anon_vma(anon_vma);
out:
	return ret;
@@ -2322,7 +2322,7 @@ static void collapse_huge_page(struct mm_struct *mm,
		BUG_ON(!pmd_none(*pmd));
		set_pmd_at(mm, address, pmd, _pmd);
		spin_unlock(&mm->page_table_lock);
		anon_vma_unlock(vma->anon_vma);
		anon_vma_unlock_write(vma->anon_vma);
		goto out;
	}

@@ -2330,7 +2330,7 @@ static void collapse_huge_page(struct mm_struct *mm,
	 * All pages are isolated and locked so anon_vma rmap
	 * can't run anymore.
	 */
	anon_vma_unlock(vma->anon_vma);
	anon_vma_unlock_write(vma->anon_vma);

	__collapse_huge_page_copy(pte, new_page, vma, address, ptl);
	pte_unmap(pte);
+2 −2
Original line number Diff line number Diff line
@@ -809,7 +809,7 @@ again: remove_next = 1 + (end > next->vm_end);
		anon_vma_interval_tree_post_update_vma(vma);
		if (adjust_next)
			anon_vma_interval_tree_post_update_vma(next);
		anon_vma_unlock(anon_vma);
		anon_vma_unlock_write(anon_vma);
	}
	if (mapping)
		mutex_unlock(&mapping->i_mmap_mutex);
@@ -3017,7 +3017,7 @@ static void vm_unlock_anon_vma(struct anon_vma *anon_vma)
		if (!__test_and_clear_bit(0, (unsigned long *)
					  &anon_vma->root->rb_root.rb_node))
			BUG();
		anon_vma_unlock(anon_vma);
		anon_vma_unlock_write(anon_vma);
	}
}

+1 −1
Original line number Diff line number Diff line
@@ -135,7 +135,7 @@ static void move_ptes(struct vm_area_struct *vma, pmd_t *old_pmd,
	pte_unmap(new_pte - 1);
	pte_unmap_unlock(old_pte - 1, old_ptl);
	if (anon_vma)
		anon_vma_unlock(anon_vma);
		anon_vma_unlock_write(anon_vma);
	if (mapping)
		mutex_unlock(&mapping->i_mmap_mutex);
}
Loading