Re: [PATCH 03/15] mm: thp: give transparent hugepage code a separatecopy_page

From: Mel Gorman
Date: Thu Dec 05 2013 - 08:35:44 EST


On Wed, Dec 04, 2013 at 10:59:18AM -0600, Alex Thorlton wrote:
> > -void copy_huge_page(struct page *dst, struct page *src)
> > -{
> > - int i;
> > - struct hstate *h = page_hstate(src);
> > -
> > - if (unlikely(pages_per_huge_page(h) > MAX_ORDER_NR_PAGES)) {
>
> With CONFIG_HUGETLB_PAGE=n, the kernel fails to build, throwing this
> error:
>
> mm/migrate.c: In function ???copy_huge_page???:
> mm/migrate.c:473: error: implicit declaration of function ???page_hstate???
>
> I got it to build by sticking the following into hugetlb.h:
>
> diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
> index 4694afc..fd76912 100644
> --- a/include/linux/hugetlb.h
> +++ b/include/linux/hugetlb.h
> @@ -403,6 +403,7 @@ struct hstate {};
> #define hstate_sizelog(s) NULL
> #define hstate_vma(v) NULL
> #define hstate_inode(i) NULL
> +#define page_hstate(p) NULL
> #define huge_page_size(h) PAGE_SIZE
> #define huge_page_mask(h) PAGE_MASK
> #define vma_kernel_pagesize(v) PAGE_SIZE
>
> I figure that the #define I stuck in isn't actually solving the real
> problem, but it got things working again.
>

It's based on an upstream patch so I'll check if the problem is there as
well and backport accordingly. This patch to unblock yourself is fine
for now.

Thanks.

--
Mel Gorman
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/