Re: [PATCH 5/6] mm, hugetlb: further simplify hugetlb allocation API

From: Dan Rue
Date: Wed Feb 21 2018 - 11:19:23 EST


On Wed, Feb 21, 2018 at 11:01:07AM +0100, Michal Hocko wrote:
> On Wed 21-02-18 10:55:26, Michal Hocko wrote:
> > On Tue 20-02-18 22:24:57, Dan Rue wrote:
> [...]
> > > I bisected the failure to this commit. The problem is seen on multiple
> > > architectures (tested x86-64 and arm64).
> >
> > The patch shouldn't have introduced any functional changes IIRC. But let
> > me have a look
>
> Hmm, I guess I can see it. Does the following help?
> ---
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 7c204e3d132b..a963f2034dfc 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -1583,7 +1583,7 @@ static struct page *alloc_surplus_huge_page(struct hstate *h, gfp_t gfp_mask,
> page = NULL;
> } else {
> h->surplus_huge_pages++;
> - h->nr_huge_pages_node[page_to_nid(page)]++;
> + h->surplus_huge_pages_node[page_to_nid(page)]++;
> }
>
> out_unlock:

That did the trick. Confirmed fixed on v4.15-3389-g0c397daea1d4 and
v4.16-rc2 with the above patch.

Dan

> --
> Michal Hocko
> SUSE Labs