]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm/ksm: use folio in remove_rmap_item_from_tree
authorAlex Shi (tencent) <alexs@kernel.org>
Thu, 11 Apr 2024 06:17:03 +0000 (14:17 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 6 May 2024 00:53:32 +0000 (17:53 -0700)
To save 2 compound_head calls.

Link: https://lkml.kernel.org/r/20240411061713.1847574-3-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 ac126a4c245c085d99848165043a458bb5d625c9..ef5c4b6d377c2d74b205b5015dafe5c692e1ad93 100644 (file)
--- a/mm/ksm.c
+++ b/mm/ksm.c
@@ -1006,16 +1006,16 @@ static void remove_rmap_item_from_tree(struct ksm_rmap_item *rmap_item)
 {
        if (rmap_item->address & STABLE_FLAG) {
                struct ksm_stable_node *stable_node;
-               struct page *page;
+               struct folio *folio;
 
                stable_node = rmap_item->head;
-               page = get_ksm_page(stable_node, GET_KSM_PAGE_LOCK);
-               if (!page)
+               folio = ksm_get_folio(stable_node, GET_KSM_PAGE_LOCK);
+               if (!folio)
                        goto out;
 
                hlist_del(&rmap_item->hlist);
-               unlock_page(page);
-               put_page(page);
+               folio_unlock(folio);
+               folio_put(folio);
 
                if (!hlist_empty(&stable_node->hlist))
                        ksm_pages_sharing--;