Hi Nicholas, I love your patch! Yet something to improve:
[auto build test ERROR on powerpc/next] [also build test ERROR on next-20180613] [cannot apply to v4.17] [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/Nicholas-Piggin/powerpc-64s-radix-Fix-MADV_-FREE-DONTNEED-TLB-flush-miss-problem-with-THP/20180614-114728 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: arm-allnoconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All error/warnings (new ones prefixed by >>): In file included from include/linux/mm.h:478:0, from include/linux/memcontrol.h:29, from include/linux/swap.h:9, from mm/compaction.c:12: include/linux/migrate.h: In function 'new_page_nodemask': >> include/linux/huge_mm.h:82:25: error: 'PMD_SHIFT' undeclared (first use in >> this function); did you mean 'PUD_SHIFT'? #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/migrate.h:47:11: note: in expansion of macro 'HPAGE_PMD_ORDER' order = HPAGE_PMD_ORDER; ^~~~~~~~~~~~~~~ include/linux/huge_mm.h:82:25: note: each undeclared identifier is reported only once for each function it appears in #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/migrate.h:47:11: note: in expansion of macro 'HPAGE_PMD_ORDER' order = HPAGE_PMD_ORDER; ^~~~~~~~~~~~~~~ -- In file included from include/linux/mm.h:478:0, from include/linux/dax.h:6, from mm/filemap.c:14: mm/filemap.c: In function 'page_cache_free_page': >> include/linux/huge_mm.h:82:25: error: 'PMD_SHIFT' undeclared (first use in >> this function); did you mean 'PUD_SHIFT'? #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/huge_mm.h:80:26: note: in expansion of macro 'HPAGE_PMD_ORDER' #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER) ^~~~~~~~~~~~~~~ >> mm/filemap.c:279:22: note: in expansion of macro 'HPAGE_PMD_NR' page_ref_sub(page, HPAGE_PMD_NR); ^~~~~~~~~~~~ include/linux/huge_mm.h:82:25: note: each undeclared identifier is reported only once for each function it appears in #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/huge_mm.h:80:26: note: in expansion of macro 'HPAGE_PMD_ORDER' #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER) ^~~~~~~~~~~~~~~ >> mm/filemap.c:279:22: note: in expansion of macro 'HPAGE_PMD_NR' page_ref_sub(page, HPAGE_PMD_NR); ^~~~~~~~~~~~ mm/filemap.c: In function 'page_cache_tree_delete_batch': >> include/linux/huge_mm.h:82:25: error: 'PMD_SHIFT' undeclared (first use in >> this function); did you mean 'PUD_SHIFT'? #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/huge_mm.h:80:26: note: in expansion of macro 'HPAGE_PMD_ORDER' #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER) ^~~~~~~~~~~~~~~ mm/filemap.c:351:18: note: in expansion of macro 'HPAGE_PMD_NR' tail_pages = HPAGE_PMD_NR - 1; ^~~~~~~~~~~~ -- In file included from include/linux/mm.h:478:0, from include/linux/dax.h:6, from mm/truncate.c:12: mm/truncate.c: In function 'truncate_cleanup_page': >> include/linux/huge_mm.h:82:25: error: 'PMD_SHIFT' undeclared (first use in >> this function); did you mean 'PUD_SHIFT'? #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/huge_mm.h:80:26: note: in expansion of macro 'HPAGE_PMD_ORDER' #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER) ^~~~~~~~~~~~~~~ >> mm/truncate.c:182:38: note: in expansion of macro 'HPAGE_PMD_NR' pgoff_t nr = PageTransHuge(page) ? HPAGE_PMD_NR : 1; ^~~~~~~~~~~~ include/linux/huge_mm.h:82:25: note: each undeclared identifier is reported only once for each function it appears in #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/huge_mm.h:80:26: note: in expansion of macro 'HPAGE_PMD_ORDER' #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER) ^~~~~~~~~~~~~~~ >> mm/truncate.c:182:38: note: in expansion of macro 'HPAGE_PMD_NR' pgoff_t nr = PageTransHuge(page) ? HPAGE_PMD_NR : 1; ^~~~~~~~~~~~ mm/truncate.c: In function 'invalidate_mapping_pages': >> include/linux/huge_mm.h:82:25: error: 'PMD_SHIFT' undeclared (first use in >> this function); did you mean 'PUD_SHIFT'? #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/huge_mm.h:80:26: note: in expansion of macro 'HPAGE_PMD_ORDER' #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER) ^~~~~~~~~~~~~~~ mm/truncate.c:580:14: note: in expansion of macro 'HPAGE_PMD_NR' index += HPAGE_PMD_NR - 1; ^~~~~~~~~~~~ -- In file included from include/linux/mm.h:478:0, from mm/vmscan.c:17: include/linux/migrate.h: In function 'new_page_nodemask': >> include/linux/huge_mm.h:82:25: error: 'PMD_SHIFT' undeclared (first use in >> this function); did you mean 'PUD_SHIFT'? #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/migrate.h:47:11: note: in expansion of macro 'HPAGE_PMD_ORDER' order = HPAGE_PMD_ORDER; ^~~~~~~~~~~~~~~ include/linux/huge_mm.h:82:25: note: each undeclared identifier is reported only once for each function it appears in #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/migrate.h:47:11: note: in expansion of macro 'HPAGE_PMD_ORDER' order = HPAGE_PMD_ORDER; ^~~~~~~~~~~~~~~ mm/vmscan.c: In function 'is_page_cache_freeable': >> include/linux/huge_mm.h:82:25: error: 'PMD_SHIFT' undeclared (first use in >> this function); did you mean 'PUD_SHIFT'? #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/huge_mm.h:80:26: note: in expansion of macro 'HPAGE_PMD_ORDER' #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER) ^~~~~~~~~~~~~~~ >> mm/vmscan.c:579:3: note: in expansion of macro 'HPAGE_PMD_NR' HPAGE_PMD_NR : 1; ^~~~~~~~~~~~ mm/vmscan.c: In function '__remove_mapping': >> include/linux/huge_mm.h:82:25: error: 'PMD_SHIFT' undeclared (first use in >> this function); did you mean 'PUD_SHIFT'? #define HPAGE_PMD_SHIFT PMD_SHIFT ^ >> include/linux/huge_mm.h:79:26: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/huge_mm.h:80:26: note: in expansion of macro 'HPAGE_PMD_ORDER' #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER) ^~~~~~~~~~~~~~~ mm/vmscan.c:742:18: note: in expansion of macro 'HPAGE_PMD_NR' refcount = 1 + HPAGE_PMD_NR; ^~~~~~~~~~~~ -- In file included from include/linux/mm.h:478:0, from include/linux/pagemap.h:8, from mm/shmem.c:29: mm/shmem.c: In function 'shmem_zero_setup': >> include/linux/huge_mm.h:82:25: error: 'PMD_SHIFT' undeclared (first use in >> this function); did you mean 'PUD_SHIFT'? #define HPAGE_PMD_SHIFT PMD_SHIFT ^ include/linux/huge_mm.h:83:34: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_SIZE ((1UL) << HPAGE_PMD_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/huge_mm.h:84:27: note: in expansion of macro 'HPAGE_PMD_SIZE' #define HPAGE_PMD_MASK (~(HPAGE_PMD_SIZE - 1)) ^~~~~~~~~~~~~~ >> mm/shmem.c:4322:23: note: in expansion of macro 'HPAGE_PMD_MASK' ((vma->vm_start + ~HPAGE_PMD_MASK) & HPAGE_PMD_MASK) < ^~~~~~~~~~~~~~ include/linux/huge_mm.h:82:25: note: each undeclared identifier is reported only once for each function it appears in #define HPAGE_PMD_SHIFT PMD_SHIFT ^ include/linux/huge_mm.h:83:34: note: in expansion of macro 'HPAGE_PMD_SHIFT' #define HPAGE_PMD_SIZE ((1UL) << HPAGE_PMD_SHIFT) ^~~~~~~~~~~~~~~ >> include/linux/huge_mm.h:84:27: note: in expansion of macro 'HPAGE_PMD_SIZE' #define HPAGE_PMD_MASK (~(HPAGE_PMD_SIZE - 1)) ^~~~~~~~~~~~~~ >> mm/shmem.c:4322:23: note: in expansion of macro 'HPAGE_PMD_MASK' ((vma->vm_start + ~HPAGE_PMD_MASK) & HPAGE_PMD_MASK) < ^~~~~~~~~~~~~~ vim +82 include/linux/huge_mm.h 5a6e75f8 Kirill A. Shutemov 2016-07-26 78 d8c37c48 Naoya Horiguchi 2012-03-21 @79 #define HPAGE_PMD_ORDER (HPAGE_PMD_SHIFT-PAGE_SHIFT) d8c37c48 Naoya Horiguchi 2012-03-21 @80 #define HPAGE_PMD_NR (1<<HPAGE_PMD_ORDER) d8c37c48 Naoya Horiguchi 2012-03-21 81 fde52796 Aneesh Kumar K.V 2013-06-05 @82 #define HPAGE_PMD_SHIFT PMD_SHIFT fde52796 Aneesh Kumar K.V 2013-06-05 83 #define HPAGE_PMD_SIZE ((1UL) << HPAGE_PMD_SHIFT) fde52796 Aneesh Kumar K.V 2013-06-05 @84 #define HPAGE_PMD_MASK (~(HPAGE_PMD_SIZE - 1)) 71e3aac0 Andrea Arcangeli 2011-01-13 85 :::::: The code at line 82 was first introduced by commit :::::: fde52796d487b675cde55427e3347ff3e59f9a7f mm/THP: don't use HPAGE_SHIFT in transparent hugepage code :::::: TO: Aneesh Kumar K.V <aneesh.ku...@linux.vnet.ibm.com> :::::: CC: Benjamin Herrenschmidt <b...@kernel.crashing.org> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip