Re: [PATCH] mm, hugetlb: fix "treat_as_movable" condition in htlb_alloc_mask

From: Alexandru Moise
Date: Fri Sep 29 2017 - 16:43:34 EST


On Fri, Sep 29, 2017 at 05:13:39PM +0200, Alexandru Moise wrote:
> If hugepage_migration_supported() returns true, this renders the
> hugepages_treat_as_movable sysctl completely pointless.
>
> Let's keep this behavior optional by switching the if() condition
> from || to &&.
>
> Signed-off-by: Alexandru Moise <00moses.alexander00@xxxxxxxxx>
> ---
> mm/hugetlb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 424b0ef08a60..ab28de0122af 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -926,7 +926,7 @@ static struct page *dequeue_huge_page_nodemask(struct hstate *h, gfp_t gfp_mask,
> /* Movability of hugepages depends on migration support. */
> static inline gfp_t htlb_alloc_mask(struct hstate *h)
> {
> - if (hugepages_treat_as_movable || hugepage_migration_supported(h))
> + if (hugepages_treat_as_movable && hugepage_migration_supported(h))
> return GFP_HIGHUSER_MOVABLE;
> else
> return GFP_HIGHUSER;
> --
> 2.14.2
>

I seem to have terribly misunderstood the semantics of this flag wrt hugepages,
please ignore this for now.

../Alex