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 e904bce2d9 ("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: Wei Yang <richard.weiyang@gmail.com>
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Zi 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: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
+3
-4
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user