On Wed, 14 Feb 2018, Michal Hocko wrote:
> I do not have any objections regarding the extension. What I am more
> interested in is _why_ people are still using this command line
> parameter at all these days. Why would anybody want to introduce lowmem
> issues from 32b days. I can see the CMA/Hotplug usecases for
> ZONE_MOVABLE but those have their own ways to define zone movable. I was
> tempted to simply remove the kernelcore already. Could you be more
> specific what is your usecase which triggered a need of an easier
> scaling of the size?
Fragmentation of non-__GFP_MOVABLE pages due to low on memory situations
can pollute most pageblocks on the system, as much as 1GB of slab being
fragmented over 128GB of memory, for example. When the amount of kernel
memory is well bounded for certain systems, it is better to aggressively
reclaim from existing MIGRATE_UNMOVABLE pageblocks rather than eagerly
fallback to others.
We have additional patches that help with this fragmentation if you're
interested, specifically kcompactd compaction of MIGRATE_UNMOVABLE
pageblocks triggered by fallback of non-__GFP_MOVABLE allocations and
draining of pcp lists back to the zone free area to prevent stranding.