Re: [PATCH] mm/memory hotplug: Fix zone->contiguous always false when hotplug
From: Li, Tianyou
Date: Fri Feb 06 2026 - 09:08:55 EST
On 2/6/2026 9:03 PM, David Hildenbrand (Arm) wrote
On 1/30/26 17:09, Tianyou Li wrote:
From: Yuan Liu <yuan1.liu@xxxxxxxxx>
Nit: subject should start with "mm/memory_hotplug:"
Got it. My bad, will pay attention next time. Thanks David.
set_zone_contiguous() uses __pageblock_pfn_to_page() to detect
pageblocks that either do not exist (hole) or that do not belong
to the same zone.
__pageblock_pfn_to_page(), however, relies on pfn_to_online_page(),
effectively always returning NULL for memory ranges that were not
onlined yet. So when called on a range-to-be-onlined, it indicates
a memory hole to set_zone_contiguous().
Consequently, the set_zone_contiguous() call in move_pfn_range_to_zone(),
which happens early during memory onlining, will never detect a
zone as being contiguous. Bad: the fast path relies on the zone
contiguous state may skipped.
To fix the issue, move the set_zone_contiguous() call to a later
stage in memory onlining, where pfn_to_online_page() will succeed:
after we mark the memory sections to be online.
Fixes: 2d070eab2e82 ("mm: consider zone which is not fully populated to have holes")
Cc: Michal Hocko <mhocko@xxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
Reviewed-by: Nanhai Zou <nanhai.zou@xxxxxxxxx>
Signed-off-by: Yuan Liu <yuan1.liu@xxxxxxxxx>
Signed-off-by: Tianyou Li <tianyou.li@xxxxxxxxx>
How was Yuan Liu involved? If he is a co-author there is a
Co-developed-by: Yuan Liu <yuan1.liu@xxxxxxxxx>
missing.
Yes, Yuan Liu co-author the patch. Thanks and I will pay attention next time. Appreciated.
Likely there is no resend required if you tell Andrew what to do, so he can just fixup when applying.
Acked-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>
+ Andrew Morton for awareness.
Hi Andrew,
Please kindly let me know if resend required or you are willing to kindly fixup the titile and Co-developed-by tag for me. Appreciated in advance for any additional burden that costs.
Regards,
Tianyou