Skip to content

Commit

Permalink
mm/madvise: minor cleanup for swapin_walk_pmd_entry()
Browse files Browse the repository at this point in the history
Passing index to pte_offset_map_lock() directly so the below calculation
can be avoided. Rename orig_pte to ptep as it's not changed. Also use
helper is_swap_pte() to improve the readability. No functional change
intended.

[[email protected]: reduce scope of `ptep']
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Miaohe Lin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
  • Loading branch information
MiaoheLin authored and akpm00 committed Jul 4, 2022
1 parent dc2628f commit f7cc67a
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions mm/madvise.c
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,6 @@ static int madvise_update_vma(struct vm_area_struct *vma,
static int swapin_walk_pmd_entry(pmd_t *pmd, unsigned long start,
unsigned long end, struct mm_walk *walk)
{
pte_t *orig_pte;
struct vm_area_struct *vma = walk->private;
unsigned long index;
struct swap_iocb *splug = NULL;
Expand All @@ -208,12 +207,13 @@ static int swapin_walk_pmd_entry(pmd_t *pmd, unsigned long start,
swp_entry_t entry;
struct page *page;
spinlock_t *ptl;
pte_t *ptep;

orig_pte = pte_offset_map_lock(vma->vm_mm, pmd, start, &ptl);
pte = *(orig_pte + ((index - start) / PAGE_SIZE));
pte_unmap_unlock(orig_pte, ptl);
ptep = pte_offset_map_lock(vma->vm_mm, pmd, index, &ptl);
pte = *ptep;
pte_unmap_unlock(ptep, ptl);

if (pte_present(pte) || pte_none(pte))
if (!is_swap_pte(pte))
continue;
entry = pte_to_swp_entry(pte);
if (unlikely(non_swap_entry(entry)))
Expand Down

0 comments on commit f7cc67a

Please sign in to comment.