mm/memcg: minor cleanup for mc_handle_present_pte()

Message ID 20230717113644.3026478-1-linmiaohe@huawei.com
State New
Headers
Series mm/memcg: minor cleanup for mc_handle_present_pte() |

Commit Message

Miaohe Lin July 17, 2023, 11:36 a.m. UTC
  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.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 mm/memcontrol.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
  

Patch

diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 284396ea8a33..60b5ff3b4a52 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -5649,7 +5649,7 @@  static struct page *mc_handle_present_pte(struct vm_area_struct *vma,
 {
 	struct page *page = vm_normal_page(vma, addr, ptent);
 
-	if (!page || !page_mapped(page))
+	if (!page)
 		return NULL;
 	if (PageAnon(page)) {
 		if (!(mc.flags & MOVE_ANON))
@@ -5658,8 +5658,7 @@  static struct page *mc_handle_present_pte(struct vm_area_struct *vma,
 		if (!(mc.flags & MOVE_FILE))
 			return NULL;
 	}
-	if (!get_page_unless_zero(page))
-		return NULL;
+	get_page(page);
 
 	return page;
 }