This parameter controls whether gigantic pages may be allocated from ZONE_MOVABLE. If set to non-zero, gigantic pages can be allocated from ZONE_MOVABLE. ZONE_MOVABLE memory may be created via the kernel boot parameter kernelcore or via memory hotplug as discussed in Documentation/admin-guide/mm/memory-hotplug.rst.
Support may depend on specific architecture.
Note that using ZONE_MOVABLE gigantic pages make memory hotremove unreliable.
Memory hot-remove operations will block indefinitely until the admin reserves sufficient gigantic pages to service migration requests associated with the memory offlining process. As HugeTLB gigantic page reservation is a manual process (via nodeN/hugepages/.../nr_hugepages interfaces) this may not be obvious when just attempting to offline a block of memory.
Additionally, as multiple gigantic pages may be reserved on a single block, it may appear that gigantic pages are available for migration when in reality they are in the process of being removed. For example if memoryN contains two gigantic pages, one reserved and one allocated, and an admin attempts to offline that block, this operations may hang indefinitely unless another reserved gigantic page is available on another block memoryM.