Re: [patch 1/2] mm, page_alloc: extend kernelcore and movablecore for percent

From: Michal Hocko
Date: Thu Feb 15 2018 - 09:45:31 EST


On Wed 14-02-18 02:28:38, David Rientjes wrote:
> 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.

OK, I was assuming something like that.

> 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.

Yes, I think we need a proper fix. (Ab)using zone_movable for this
usecase is just sad.

--
Michal Hocko
SUSE Labs