Looks like a 32bit x86 build failure case where X86_PAE and NOHIMEM
are on. This was reported by kbuild test bot.
In file included from include/linux/mm.h:68:0,
from include/linux/highmem.h:7,
from include/linux/bio.h:21,
from include/linux/writeback.h:205,
from include/linux/memcontrol.h:30,
from include/linux/swap.h:8,
from include/linux/suspend.h:4,
from arch/x86/kernel/asm-offsets.c:12:
arch/x86/include/asm/pgtable.h: In function 'native_local_pudp_get_and_clear':
> arch/x86/include/asm/pgtable.h:888:2: error: implicit declaration
of function 'native_pud_clear' [-Werror=implicit-function-declaration]
native_pud_clear(pudp);
^~~~~~~~~~~~~~~~
Fixes: a00cc7d9dd93d ("mm, x86: add support for PUD-sized transparent
hugepages")
Signed-off-by: Dave Jiang <dave.jiang(a)intel.com>
---
arch/x86/include/asm/pgtable-3level.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/x86/include/asm/pgtable-3level.h
b/arch/x86/include/asm/pgtable-3level.h
index 72277b1..d337738 100644
--- a/arch/x86/include/asm/pgtable-3level.h
+++ b/arch/x86/include/asm/pgtable-3level.h
@@ -121,8 +121,9 @@ static inline void native_pmd_clear(pmd_t *pmd)
*(tmp + 1) = 0;
}
-#if !defined(CONFIG_SMP) || (defined(CONFIG_HIGHMEM64G) && \
- defined(CONFIG_PARAVIRT))
+#if !defined(CONFIG_SMP) || \
+ (defined(CONFIG_HIGHMEM64G) && defined(CONFIG_PARAVIRT)) || \
+ (defined(CONFIG_NOHIGHMEM) && defined(CONFIG_X86_PAE))
static inline void native_pud_clear(pud_t *pudp)
{
}