On Tue, Nov 08, 2016 at 08:23:50AM +0800, kbuild test robot wrote: > Hi Naoya, > > [auto build test ERROR on mmotm/master] > [also build test ERROR on v4.9-rc4 next-20161028] > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > > url: https://github.com/0day-ci/linux/commits/Naoya-Horiguchi/mm-x86-move-_PAGE_SWP_SOFT_DIRTY-from-bit-7-to-bit-6/20161108-080615 > base: git://git.cmpxchg.org/linux-mmotm.git master > config: i386-randconfig-x007-201645 (attached as .config) > compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 > reproduce: > # save the attached .config to linux build tree > make ARCH=i386 > > All error/warnings (new ones prefixed by >>): > > mm/memory.c: In function 'copy_pmd_range': > >> mm/memory.c:1002:7: error: implicit declaration of function 'pmd_related' [-Werror=implicit-function-declaration] > if (pmd_related(*src_pmd)) { > ^~~~~~~~~~~ > cc1: some warnings being treated as errors > -- I forgot to declare a noop routine for CONFIG_TRANSPARENT_HUGEPAGE=n. diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h --- a/include/linux/huge_mm.h +++ b/include/linux/huge_mm.h @@ -222,6 +229,10 @@ static inline void vma_adjust_trans_huge(struct vm_area_struct *vma, long adjust_next) { } +static inline int pmd_related(pmd_t pmd) +{ + return 0; +} static inline spinlock_t *pmd_trans_huge_lock(pmd_t *pmd, struct vm_area_struct *vma) { > mm/mremap.c: In function 'move_page_tables': > >> mm/mremap.c:197:7: error: implicit declaration of function 'pmd_related' [-Werror=implicit-function-declaration] > if (pmd_related(*old_pmd)) { > ^~~~~~~~~~~ > In file included from include/asm-generic/bug.h:4:0, > from arch/x86/include/asm/bug.h:35, > from include/linux/bug.h:4, > from include/linux/mmdebug.h:4, > from include/linux/mm.h:8, > from mm/mremap.c:10: > >> include/linux/compiler.h:518:38: error: call to '__compiletime_assert_198' declared with attribute error: BUILD_BUG failed > _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) > ^ > include/linux/compiler.h:501:4: note: in definition of macro '__compiletime_assert' > prefix ## suffix(); \ > ^~~~~~ > include/linux/compiler.h:518:2: note: in expansion of macro '_compiletime_assert' > _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) > ^~~~~~~~~~~~~~~~~~~ > include/linux/bug.h:54:37: note: in expansion of macro 'compiletime_assert' > #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) > ^~~~~~~~~~~~~~~~~~ > include/linux/bug.h:88:21: note: in expansion of macro 'BUILD_BUG_ON_MSG' > #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") > ^~~~~~~~~~~~~~~~ > >> include/linux/huge_mm.h:183:27: note: in expansion of macro 'BUILD_BUG' > #define HPAGE_PMD_SIZE ({ BUILD_BUG(); 0; }) > ^~~~~~~~~ > >> mm/mremap.c:198:18: note: in expansion of macro 'HPAGE_PMD_SIZE' > if (extent == HPAGE_PMD_SIZE) { > ^~~~~~~~~~~~~~ > cc1: some warnings being treated as errors HPAGE_PMD_SIZE is available only in CONFIG_TRANSPARENT_HUGEPAGE=y, and this code looks to violate the rule, but it is in if (pmd_related()) block which is compiled out in CONFIG_TRANSPARENT_HUGEPAGE=n, so this is OK only with the above change. Thanks, Naoya Horiguchi > -- > mm/madvise.c: In function 'madvise_free_pte_range': > >> mm/madvise.c:277:6: error: implicit declaration of function 'pmd_related' [-Werror=implicit-function-declaration] > if (pmd_related(*pmd)) > ^~~~~~~~~~~ > cc1: some warnings being treated as errors > > vim +/pmd_related +1002 mm/memory.c > > 996 dst_pmd = pmd_alloc(dst_mm, dst_pud, addr); > 997 if (!dst_pmd) > 998 return -ENOMEM; > 999 src_pmd = pmd_offset(src_pud, addr); > 1000 do { > 1001 next = pmd_addr_end(addr, end); > > 1002 if (pmd_related(*src_pmd)) { > 1003 int err; > 1004 VM_BUG_ON(next-addr != HPAGE_PMD_SIZE); > 1005 err = copy_huge_pmd(dst_mm, src_mm, > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href