Re: [PATCH 2/3] mm, page_alloc: Disable watermark boosting if THP is disabled at boot

From: Mel Gorman
Date: Wed Feb 26 2020 - 03:08:13 EST


On Tue, Feb 25, 2020 at 05:32:24PM -0800, David Rientjes wrote:
> On Tue, 25 Feb 2020, Mel Gorman wrote:
>
> > Watermark boosting is intended to increase the success rate and reduce
> > latency of high-order allocations, particularly THP. If THP is disabled
> > at boot, then it makes sense to disable watermark boosting as well. While
> > there are other high-order allocations that potentially benefit, they
> > are relatively rare.
> >
> > Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
> > ---
> > mm/huge_memory.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/mm/huge_memory.c b/mm/huge_memory.c
> > index b08b199f9a11..565bb9973ff8 100644
> > --- a/mm/huge_memory.c
> > +++ b/mm/huge_memory.c
> > @@ -472,6 +472,7 @@ static int __init setup_transparent_hugepage(char *str)
> > &transparent_hugepage_flags);
> > clear_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG,
> > &transparent_hugepage_flags);
> > + disable_watermark_boosting();
> > ret = 1;
> > }
> > out:
>
> Seems like watermark boosting can help prevent fragmentation so it
> benefits all hugepage sized allocations for the long term and that would
> include dynamic provisioning of hugetlb memory or hugetlb overcommit?

Yes but it's very rare to hear of cases where hugetlb is dynamically
provisioned or overcommitted once THP existed and stopped stalling the
system excessively. I'm happy enough to drop this patch because I'm not
relying on it in the context of this bug.

--
Mel Gorman
SUSE Labs