]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mm/page_owner: convert set_page_owner_migrate_reason() to folios
authorSidhartha Kumar <sidhartha.kumar@oracle.com>
Fri, 11 Jul 2025 14:59:10 +0000 (10:59 -0400)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 20 Jul 2025 01:59:57 +0000 (18:59 -0700)
Both callers of set_page_owner_migrate_reason() use folios.  Convert the
function to take a folio directly and move the &folio->page conversion
inside __set_page_owner_migrate_reason().

Link: https://lkml.kernel.org/r/20250711145910.90135-1-sidhartha.kumar@oracle.com
Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Reviewed-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/page_owner.h
mm/hugetlb.c
mm/migrate.c
mm/page_owner.c

index debdc25f08b93559600e5e0b9e4afd5161ad365b..3328357f6dba72243dfd9fd2ba185f01bde032da 100644 (file)
@@ -14,7 +14,7 @@ extern void __set_page_owner(struct page *page,
 extern void __split_page_owner(struct page *page, int old_order,
                        int new_order);
 extern void __folio_copy_owner(struct folio *newfolio, struct folio *old);
-extern void __set_page_owner_migrate_reason(struct page *page, int reason);
+extern void __folio_set_owner_migrate_reason(struct folio *folio, int reason);
 extern void __dump_page_owner(const struct page *page);
 extern void pagetypeinfo_showmixedcount_print(struct seq_file *m,
                                        pg_data_t *pgdat, struct zone *zone);
@@ -43,10 +43,10 @@ static inline void folio_copy_owner(struct folio *newfolio, struct folio *old)
        if (static_branch_unlikely(&page_owner_inited))
                __folio_copy_owner(newfolio, old);
 }
-static inline void set_page_owner_migrate_reason(struct page *page, int reason)
+static inline void folio_set_owner_migrate_reason(struct folio *folio, int reason)
 {
        if (static_branch_unlikely(&page_owner_inited))
-               __set_page_owner_migrate_reason(page, reason);
+               __folio_set_owner_migrate_reason(folio, reason);
 }
 static inline void dump_page_owner(const struct page *page)
 {
@@ -68,7 +68,7 @@ static inline void split_page_owner(struct page *page, int old_order,
 static inline void folio_copy_owner(struct folio *newfolio, struct folio *folio)
 {
 }
-static inline void set_page_owner_migrate_reason(struct page *page, int reason)
+static inline void folio_set_owner_migrate_reason(struct folio *folio, int reason)
 {
 }
 static inline void dump_page_owner(const struct page *page)
index f13fa5aa6624b58491c459d9ef7cedbd7b5edffc..753f99b4c71866486e1797baf5048dfb15d00a1b 100644 (file)
@@ -7835,7 +7835,7 @@ void move_hugetlb_state(struct folio *old_folio, struct folio *new_folio, int re
        struct hstate *h = folio_hstate(old_folio);
 
        hugetlb_cgroup_migrate(old_folio, new_folio);
-       set_page_owner_migrate_reason(&new_folio->page, reason);
+       folio_set_owner_migrate_reason(new_folio, reason);
 
        /*
         * transfer temporary state of the new hugetlb folio. This is
index 36b2764204b65abe5d5668d8bb31a63a449468a4..425401b2d4e1459fa79e6e7496a9113b2b4198bf 100644 (file)
@@ -1367,7 +1367,7 @@ static int migrate_folio_move(free_folio_t put_new_folio, unsigned long private,
 
 out_unlock_both:
        folio_unlock(dst);
-       set_page_owner_migrate_reason(&dst->page, reason);
+       folio_set_owner_migrate_reason(dst, reason);
        /*
         * If migration is successful, decrease refcount of dst,
         * which will not free the page because new page owner increased
index 9928c9ac8c31b3bfd0f3440bfbed37af0f63becb..c3ca21132c2c18e77cd4b6b3edb586fc1ac3cba7 100644 (file)
@@ -333,9 +333,9 @@ noinline void __set_page_owner(struct page *page, unsigned short order,
        inc_stack_record_count(handle, gfp_mask, 1 << order);
 }
 
-void __set_page_owner_migrate_reason(struct page *page, int reason)
+void __folio_set_owner_migrate_reason(struct folio *folio, int reason)
 {
-       struct page_ext *page_ext = page_ext_get(page);
+       struct page_ext *page_ext = page_ext_get(&folio->page);
        struct page_owner *page_owner;
 
        if (unlikely(!page_ext))