Commit dd3b304b authored by Wei Yang's avatar Wei Yang Committed by Andrew Morton
Browse files

mm/page_alloc: use xxx_pageblock_isolate() for better reading

Patch series "mm/pageblock: improve readability of some pageblock
handling", v3.

During code reading, found two possible points to improve the readability
of pageblock handling.

Patch 1: isolate bit is standalone and there are dedicated helpers. 
Instead of check the bit directly, we could use the helper to do it.

Patch 2: remove PB_migratetype_bits and PB_migrate_end to reduce magical
computation.


This patch (of 2):

Since commit e904bce2 ("mm/page_isolation: make page isolation a
standalone bit"), it provides dedicated helper to handle isolation.

Change to use these helpers to be better reading.

No functional change intended.

Link: https://lkml.kernel.org/r/20250827070105.16864-1-richard.weiyang@gmail.com
Link: https://lkml.kernel.org/r/20250827070105.16864-2-richard.weiyang@gmail.com


Signed-off-by: default avatarWei Yang <richard.weiyang@gmail.com>
Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
Reviewed-by: default avatarZi Yan <ziy@nvidia.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: David Hildenbrand <david@redhat.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent b5510282
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -538,8 +538,7 @@ static void set_pageblock_migratetype(struct page *page,
			"Use set_pageblock_isolate() for pageblock isolation");
		return;
	}
	VM_WARN_ONCE(get_pfnblock_bit(page, page_to_pfn(page),
				      PB_migrate_isolate),
	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 */
#endif
@@ -2058,9 +2057,9 @@ static unsigned long find_large_buddy(unsigned long start_pfn)
static inline void toggle_pageblock_isolate(struct page *page, bool isolate)
{
	if (isolate)
		set_pfnblock_bit(page, page_to_pfn(page), PB_migrate_isolate);
		set_pageblock_isolate(page);
	else
		clear_pfnblock_bit(page, page_to_pfn(page), PB_migrate_isolate);
		clear_pageblock_isolate(page);
}

/**