mm/ksm: use ksm_get_folio in scan_get_next_rmap_item
authorAlex Shi (tencent) <alexs@kernel.org>
Thu, 11 Apr 2024 06:17:07 +0000 (14:17 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 6 May 2024 00:53:33 +0000 (17:53 -0700)
Save a compound_head call.

Link: https://lkml.kernel.org/r/20240411061713.1847574-7-alexs@kernel.org
Signed-off-by: Alex Shi (tencent) <alexs@kernel.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Cc: Izik Eidus <izik.eidus@ravellosystems.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/ksm.c

index 654400f993fccdb2110c6ebf99318d7c3b9e2373..b127d39c9af0010257c26454e6fff18b41c877c4 100644 (file)
--- a/mm/ksm.c
+++ b/mm/ksm.c
@@ -2611,14 +2611,14 @@ static struct ksm_rmap_item *scan_get_next_rmap_item(struct page **page)
                 */
                if (!ksm_merge_across_nodes) {
                        struct ksm_stable_node *stable_node, *next;
-                       struct page *page;
+                       struct folio *folio;
 
                        list_for_each_entry_safe(stable_node, next,
                                                 &migrate_nodes, list) {
-                               page = get_ksm_page(stable_node,
-                                                   GET_KSM_PAGE_NOLOCK);
-                               if (page)
-                                       put_page(page);
+                               folio = ksm_get_folio(stable_node,
+                                                     GET_KSM_PAGE_NOLOCK);
+                               if (folio)
+                                       folio_put(folio);
                                cond_resched();
                        }
                }