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