Commit 58f341f7 authored by Miaohe Lin's avatar Miaohe Lin Committed by Andrew Morton

mm/memcg: minor cleanup for mc_handle_present_pte()

When pagetable lock is held, the page will always be page_mapped().  So
remove unneeded page_mapped() check.  Also the page can't be freed from
under us in this case.  So use get_page() to get extra page reference to
simplify the code.  No functional change intended.

Link: https://lkml.kernel.org/r/20230717113644.3026478-1-linmiaohe@huawei.comSigned-off-by: default avatarMiaohe Lin <linmiaohe@huawei.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Shakeel Butt <shakeelb@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 43b3dfdd
...@@ -5639,7 +5639,7 @@ static struct page *mc_handle_present_pte(struct vm_area_struct *vma, ...@@ -5639,7 +5639,7 @@ static struct page *mc_handle_present_pte(struct vm_area_struct *vma,
{ {
struct page *page = vm_normal_page(vma, addr, ptent); struct page *page = vm_normal_page(vma, addr, ptent);
if (!page || !page_mapped(page)) if (!page)
return NULL; return NULL;
if (PageAnon(page)) { if (PageAnon(page)) {
if (!(mc.flags & MOVE_ANON)) if (!(mc.flags & MOVE_ANON))
...@@ -5648,8 +5648,7 @@ static struct page *mc_handle_present_pte(struct vm_area_struct *vma, ...@@ -5648,8 +5648,7 @@ static struct page *mc_handle_present_pte(struct vm_area_struct *vma,
if (!(mc.flags & MOVE_FILE)) if (!(mc.flags & MOVE_FILE))
return NULL; return NULL;
} }
if (!get_page_unless_zero(page)) get_page(page);
return NULL;
return page; return page;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment