]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mm: rejig pageblock mask definitions
authorBrendan Jackman <jackmanb@google.com>
Wed, 13 May 2026 12:35:15 +0000 (12:35 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 2 Jun 2026 22:22:19 +0000 (15:22 -0700)
- Add a PAGEBLOCK_ prefix to the names to avoid polluting the "global
  namespace" too much.

- This new prefix makes MIGRATETYPE_AND_ISO_MASK look pretty long. Well,
  that global mask only exists for quite a specific purpose, and is
  quite a weird thing to have a name for anyway. So drop it and take
  advantage of the newly-defined PAGEBLOCK_ISO_MASK.

Link: https://lore.kernel.org/20260513-page_alloc-unmapped-prep-v1-3-dacdf5402be8@google.com
Signed-off-by: Brendan Jackman <jackmanb@google.com>
Reviewed-by: Vlastimil Babka (SUSE) <vbabka@kernel.org>
Cc: Axel Rasmussen <axelrasmussen@google.com>
Cc: Barry Song <baohua@kernel.org>
Cc: David Hildenbrand <david@kernel.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Kairui Song <kasong@tencent.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Liam R. Howlett <liam@infradead.org>
Cc: Lorenzo Stoakes <ljs@kernel.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport (Microsoft) <rppt@kernel.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Shakeel Butt <shakeel.butt@linux.dev>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Wei Xu <weixugc@google.com>
Cc: Yuanchu Xie <yuanchu@google.com>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/pageblock-flags.h
mm/page_alloc.c

index e046278a01fa8c37d898df94114d088933b6747f..9a6c3ea17684d821fde9ec272b0802dfb78249a9 100644 (file)
@@ -36,12 +36,12 @@ enum pageblock_bits {
 
 #define NR_PAGEBLOCK_BITS (roundup_pow_of_two(__NR_PAGEBLOCK_BITS))
 
-#define MIGRATETYPE_MASK (BIT(PB_migrate_0)|BIT(PB_migrate_1)|BIT(PB_migrate_2))
+#define PAGEBLOCK_MIGRATETYPE_MASK (BIT(PB_migrate_0)|BIT(PB_migrate_1)|BIT(PB_migrate_2))
 
 #ifdef CONFIG_MEMORY_ISOLATION
-#define MIGRATETYPE_AND_ISO_MASK (MIGRATETYPE_MASK | BIT(PB_migrate_isolate))
+#define PAGEBLOCK_ISO_MASK     BIT(PB_migrate_isolate)
 #else
-#define MIGRATETYPE_AND_ISO_MASK MIGRATETYPE_MASK
+#define PAGEBLOCK_ISO_MASK     0
 #endif
 
 #if defined(CONFIG_HUGETLB_PAGE)
index 3e4c4af06f3705800e5970f9d35cec072d2036b3..0278d642445ad4047aac493580893ab5c634590e 100644 (file)
@@ -364,7 +364,7 @@ get_pfnblock_bitmap_bitidx(const struct page *page, unsigned long pfn,
 #else
        BUILD_BUG_ON(NR_PAGEBLOCK_BITS != 4);
 #endif
-       BUILD_BUG_ON(__MIGRATE_TYPE_END > MIGRATETYPE_MASK);
+       BUILD_BUG_ON(__MIGRATE_TYPE_END > PAGEBLOCK_MIGRATETYPE_MASK);
        VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page);
 
        bitmap = get_pageblock_bitmap(page, pfn);
@@ -437,7 +437,7 @@ bool get_pfnblock_bit(const struct page *page, unsigned long pfn,
 __always_inline enum migratetype
 get_pfnblock_migratetype(const struct page *page, unsigned long pfn)
 {
-       unsigned long mask = MIGRATETYPE_AND_ISO_MASK;
+       unsigned long mask = PAGEBLOCK_MIGRATETYPE_MASK | PAGEBLOCK_ISO_MASK;
        unsigned long flags;
 
        flags = __get_pfnblock_flags_mask(page, pfn, mask);
@@ -446,7 +446,7 @@ get_pfnblock_migratetype(const struct page *page, unsigned long pfn)
        if (flags & BIT(PB_migrate_isolate))
                return MIGRATE_ISOLATE;
 #endif
-       return flags & MIGRATETYPE_MASK;
+       return flags & PAGEBLOCK_MIGRATETYPE_MASK;
 }
 
 /**
@@ -534,11 +534,11 @@ static void set_pageblock_migratetype(struct page *page,
        }
        VM_WARN_ONCE(get_pageblock_isolate(page),
                     "Use clear_pageblock_isolate() to unisolate pageblock");
-       /* MIGRATETYPE_AND_ISO_MASK clears PB_migrate_isolate if it is set */
+       /* PAGEBLOCK_ISO_MASK clears PB_migrate_isolate if it is set */
 #endif
        __set_pfnblock_flags_mask(page, page_to_pfn(page),
                                  (unsigned long)migratetype,
-                                 MIGRATETYPE_AND_ISO_MASK);
+                                 PAGEBLOCK_MIGRATETYPE_MASK | PAGEBLOCK_ISO_MASK);
 }
 
 void __meminit init_pageblock_migratetype(struct page *page,
@@ -564,7 +564,7 @@ void __meminit init_pageblock_migratetype(struct page *page,
                flags |= BIT(PB_migrate_isolate);
 #endif
        __set_pfnblock_flags_mask(page, page_to_pfn(page), flags,
-                                 MIGRATETYPE_AND_ISO_MASK);
+                                 PAGEBLOCK_MIGRATETYPE_MASK | PAGEBLOCK_ISO_MASK);
 }
 
 #ifdef CONFIG_DEBUG_VM
@@ -2140,15 +2140,15 @@ static bool __move_freepages_block_isolate(struct zone *zone,
        }
 
 move:
-       /* Use MIGRATETYPE_MASK to get non-isolate migratetype */
+       /* Use PAGEBLOCK_MIGRATETYPE_MASK to get non-isolate migratetype */
        if (isolate) {
                from_mt = __get_pfnblock_flags_mask(page, page_to_pfn(page),
-                                                   MIGRATETYPE_MASK);
+                                                   PAGEBLOCK_MIGRATETYPE_MASK);
                to_mt = MIGRATE_ISOLATE;
        } else {
                from_mt = MIGRATE_ISOLATE;
                to_mt = __get_pfnblock_flags_mask(page, page_to_pfn(page),
-                                                 MIGRATETYPE_MASK);
+                                                 PAGEBLOCK_MIGRATETYPE_MASK);
        }
 
        __move_freepages_block(zone, start_pfn, from_mt, to_mt);