lkml.org 
[lkml]   [2020]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subjectlinux-next: build failure after merge of the akpm_current tree
Hi all,

After merging the akpm tree, today's linux-next build (i386 defconfig)
failed like this:

mm/hugetlb.c:1302:20: error: redefinition of 'destroy_compound_gigantic_page'
1302 | static inline void destroy_compound_gigantic_page(struct hstate *h,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/hugetlb.c:1223:13: note: previous definition of 'destroy_compound_gigantic_page' was here
1223 | static void destroy_compound_gigantic_page(struct hstate *h, struct page *page,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Caused by commit

d8d718553f84 ("mm,hwpoison: rework soft offline for in-use pages")

The preprocessor directives look like this:

static void destroy_compound_gigantic_page(struct hstate *h, struct page *page,
#ifdef CONFIG_ARCH_HAS_GIGANTIC_PAGE
#ifdef CONFIG_CONTIG_ALLOC
#else /* !CONFIG_CONTIG_ALLOC */
#endif /* CONFIG_CONTIG_ALLOC */
#else /* !CONFIG_ARCH_HAS_GIGANTIC_PAGE */
static inline void destroy_compound_gigantic_page(struct hstate *h,
#endif

So, for now, I have applied the following hack to get it to build.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 17 Jul 2020 21:17:37 +1000
Subject: [PATCH] fix up for hugetlb.c code movement

Fuxes: "mm,hwpoison: rework soft offline for in-use pages"
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
mm/hugetlb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 1fe5f7229b24..589c330df4db 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -1220,6 +1220,7 @@ static inline void ClearPageHugePoisoned(struct page *page)
page[3].mapping = NULL;
}

+#ifdef CONFIG_ARCH_HAS_GIGANTIC_PAGE
static void destroy_compound_gigantic_page(struct hstate *h, struct page *page,
unsigned int order)
{
@@ -1244,7 +1245,6 @@ static void destroy_compound_gigantic_page(struct hstate *h, struct page *page,
__ClearPageHead(page);
}

-#ifdef CONFIG_ARCH_HAS_GIGANTIC_PAGE
static void free_gigantic_page(struct page *page, unsigned int order)
{
/*
--
2.27.0
--
Cheers,
Stephen Rothwell
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2020-07-17 13:32    [W:0.020 / U:0.740 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site