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.alexande...@gmail.com>
> ---
>  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

Reply via email to