From: Kairui Song mincore only interested in the existence of a page, which is a changing state by nature, locking and making it stable is not needed. And now neither mincore_page or mincore_swap requires PTL, this PTL locking can be dropped. Signed-off-by: Kairui Song --- mm/mincore.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/mincore.c b/mm/mincore.c index 1ac53acac239..cc4460aba1f9 100644 --- a/mm/mincore.c +++ b/mm/mincore.c @@ -153,13 +153,13 @@ static int mincore_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, goto out; } - ptep = pte_offset_map_lock(walk->mm, pmd, addr, &ptl); + ptep = pte_offset_map(pmd, addr); if (!ptep) { walk->action = ACTION_AGAIN; return 0; } for (; addr != end; ptep += step, addr += step * PAGE_SIZE) { - pte_t pte = ptep_get(ptep); + pte_t pte = ptep_get_lockless(ptep); step = 1; /* We need to do cache lookup too for pte markers */ @@ -192,7 +192,7 @@ static int mincore_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, } vec += step; } - pte_unmap_unlock(ptep - 1, ptl); + pte_unmap(ptep - 1); out: walk->private += nr; cond_resched(); -- 2.50.1