summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMinchan Kim <minchan@kernel.org>2015-09-23 09:04:29 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2015-09-23 09:04:29 +1000
commit08ea184211b52e3e2e718fa56d2b15e5504b4baa (patch)
tree37ec0f1b680d74626b5898bd62f6e04c1baeede7
parent9cda1db2b05cd123087cdc4f59f6cee36aeb3976 (diff)
downloadlinux-08ea184211b52e3e2e718fa56d2b15e5504b4baa.tar.gz
linux-08ea184211b52e3e2e718fa56d2b15e5504b4baa.tar.xz
mm: remove lock validation check for MADV_FREE
Currently, madvise_free_pte_range is called only madvise path which already holds an mmap_sem so it's pointless to add the lock validation check. Signed-off-by: Minchan Kim <minchan@kernel.org> Cc: Michal Hocko <mhocko@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r--mm/madvise.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/mm/madvise.c b/mm/madvise.c
index f39fd3744597..6a043d915055 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -280,18 +280,9 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr,
next = pmd_addr_end(addr, end);
if (pmd_trans_huge(*pmd)) {
- if (next - addr != HPAGE_PMD_SIZE) {
-#ifdef CONFIG_DEBUG_VM
- if (!rwsem_is_locked(&mm->mmap_sem)) {
- pr_err("%s: mmap_sem is unlocked! addr=0x%lx end=0x%lx vma->vm_start=0x%lx vma->vm_end=0x%lx\n",
- __func__, addr, end,
- vma->vm_start,
- vma->vm_end);
- BUG();
- }
-#endif
+ if (next - addr != HPAGE_PMD_SIZE)
split_huge_page_pmd(vma, addr, pmd);
- } else if (!madvise_free_huge_pmd(tlb, vma, pmd, addr))
+ else if (!madvise_free_huge_pmd(tlb, vma, pmd, addr))
goto next;
/* fall through */
}