Re: [RFC PATCH] memory,memory_hotplug: allow restricting memory blocks to zone movable

From: Gregory Price

Date: Wed Jan 07 2026 - 11:01:03 EST


On Wed, Jan 07, 2026 at 04:09:34PM +0100, David Hildenbrand (Red Hat) wrote:
> > Sure, I wouldn't push for more complexity just for the sake of a
> > theoretical extensibility. And I have to admit I have't tried to a quick
> > PoC to see how complex this could grow. I was hoping this could get into
> > a simple mask for online types with default MMOP_ONLINE_KERNEL|MMOP_ONLINE_MOVABLE
> > and special cases just choosing one of the two and zone_for_pfn_range
> > checking for the compatibility with the requested online type. But I do
> > appreciate there might be some obstacles on the way to achieve that.
>
> If we want to go down that path of failing onlining, we could likely do
> without any core-MM changes: dax can simply register a memory notifier and
> fail MEM_GOING_ONLINE of its memory with -EINVAL when it sees !ZONE_MOVABLE.
>
> That works, because online_pages() does the move_pfn_range_to_zone() before
> calling MEM_GOING_ONLINE.
>

This would be clean, and we could add a switch in dax-kmem for something
like hotunplug=true which limits zone eligibility to ZONE_MOVABLE.

I can look at this next week or so.

~Gregory