mm/huge_memory: convert has_hwpoisoned into a pure folio flag
authorDavid Hildenbrand <david@redhat.com>
Mon, 13 Jan 2025 13:16:06 +0000 (14:16 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 26 Jan 2025 04:22:41 +0000 (20:22 -0800)
Patch series "mm: hugetlb+THP folio and migration cleanups", v2.

Some cleanups around more folio conversion and migration handling that I
collected working on random stuff.

This patch (of 6):

Let's stop setting it on pages, there is no need to anymore.

Link: https://lkml.kernel.org/r/20250113131611.2554758-2-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/page-flags.h
mm/huge_memory.c

index 330929b6e0622b5a5f8e37d56907760eb18c13f3..616b57ddc3fe9b61a3109b5bda40402e5d2f0da0 100644 (file)
@@ -906,11 +906,9 @@ TESTPAGEFLAG_FALSE(TransCompound, transcompound)
  *
  * This flag is set by hwpoison handler.  Cleared by THP split or free page.
  */
-PAGEFLAG(HasHWPoisoned, has_hwpoisoned, PF_SECOND)
-       TESTSCFLAG(HasHWPoisoned, has_hwpoisoned, PF_SECOND)
+FOLIO_FLAG(has_hwpoisoned, FOLIO_SECOND_PAGE)
 #else
-PAGEFLAG_FALSE(HasHWPoisoned, has_hwpoisoned)
-       TESTSCFLAG_FALSE(HasHWPoisoned, has_hwpoisoned)
+FOLIO_FLAG_FALSE(has_hwpoisoned)
 #endif
 
 /*
index 2654a95487499735b4dd93922f8a2a39edfc5261..3d3ebdc002d59734755ddaf66489e93e12eee7df 100644 (file)
@@ -3290,7 +3290,7 @@ static void __split_huge_page(struct page *page, struct list_head *list,
        /* lock lru list/PageCompound, ref frozen by page_ref_freeze */
        lruvec = folio_lruvec_lock(folio);
 
-       ClearPageHasHWPoisoned(head);
+       folio_clear_has_hwpoisoned(folio);
 
        for (i = nr - new_nr; i >= new_nr; i -= new_nr) {
                struct folio *tail;