Re: [RFC PATCH] mm, hugetlb: drop hugepages_treat_as_movable sysctl

From: Mel Gorman
Date: Tue Oct 03 2017 - 03:54:04 EST


On Tue, Oct 03, 2017 at 09:26:19AM +0200, Michal Hocko wrote:
> From: Michal Hocko <mhocko@xxxxxxxx>
>
> hugepages_treat_as_movable has been introduced by 396faf0303d2 ("Allow
> huge page allocations to use GFP_HIGH_MOVABLE") to allow hugetlb
> allocations from ZONE_MOVABLE even when hugetlb pages were not
> migrateable. The purpose of the movable zone was different at the time.
> It aimed at reducing memory fragmentation and hugetlb pages being long
> lived and large werre not contributing to the fragmentation so it was
> acceptable to use the zone back then.
>

Well, primarily it was aimed at allowing the hugetlb pool to safely shrink
with the ability to grow it again. The use case was for batched jobs,
some of which needed huge pages and others that did not but didn't want
the memory useless pinned in the huge pages pool.

> Things have changed though and the primary purpose of the zone became
> migratability guarantee. If we allow non migrateable hugetlb pages to
> be in ZONE_MOVABLE memory hotplug might fail to offline the memory.
>
> Remove the knob and only rely on hugepage_migration_supported to allow
> movable zones.
>
> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>

I suspect that more users rely on THP than hugetlbfs for flexible use
of huge pages with fallback options so I think that removing the option
should be ok.

Acked-by: Mel Gorman <mgorman@xxxxxxx>

--
Mel Gorman
SUSE Labs