Re: [PATCH] mm: hugepage: make hstate_is_gigantic() inline

From: Michal Hocko
Date: Mon May 22 2017 - 08:56:49 EST


On Mon 22-05-17 14:46:57, Arnd Bergmann wrote:
> Ignoring the argument of both alloc_huge_page_node() and hstate_is_gigantic()
> causes a harmless warning:
>
> mm/memory-failure.c: In function 'new_page':
> mm/memory-failure.c:1493:18: error: unused variable 'hstate' [-Werror=unused-variable]
>
> Turning one into an inline function makes the compiler see that the variable is
> not meant to be unused.
>
> Fixes: d81a077951f8 ("mm/madvise: enable (soft|hard) offline of HugeTLB pages at PGD level")
> Fixes: 39b80148ffd7 ("mm/follow_page_mask: add support for hugepage directory entry")

Both these sha1 are unstable because they are in Andrew's mmotm tree and
will change in future next trees. I would just drop them.

> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

the patch itself looks OK

> ---
> include/linux/hugetlb.h | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
> index 76b9ddcd8c3c..c92a1f0c7240 100644
> --- a/include/linux/hugetlb.h
> +++ b/include/linux/hugetlb.h
> @@ -532,7 +532,11 @@ struct hstate {};
> #define vma_mmu_pagesize(v) PAGE_SIZE
> #define huge_page_order(h) 0
> #define huge_page_shift(h) PAGE_SHIFT
> -#define hstate_is_gigantic(h) 0
> +static inline bool hstate_is_gigantic(struct hstate *h)
> +{
> + return false;
> +}
> +
> static inline unsigned int pages_per_huge_page(struct hstate *h)
> {
> return 1;
> --
> 2.9.0
>

--
Michal Hocko
SUSE Labs