On Thu, 2014-03-06 at 18:08 +1100, Stephen Rothwell wrote: > Hi Andrew, > > After merging the akpm-current tree, today's linux-next build (arm > multi_v7_defconfig) failed like this: > > In file included from include/linux/vmacache.h:4:0, > from include/linux/sched.h:28, > from arch/arm/include/asm/tlbflush.h:204, > from arch/arm/include/asm/pgtable.h:28, > from arch/arm/include/asm/idmap.h:5, > from arch/arm/mm/idmap.c:6: > include/linux/mm.h: In function 'is_vmalloc_addr': > include/linux/mm.h:359:17: error: 'VMALLOC_START' undeclared (first use in this function) > include/linux/mm.h:359:41: error: 'VMALLOC_END' undeclared (first use in this function) > include/linux/mm.h: In function 'maybe_mkwrite': > include/linux/mm.h:589:3: error: implicit declaration of function 'pte_mkwrite' [-Werror=implicit-function-declaration] > In file included from include/linux/vmacache.h:4:0, > from include/linux/sched.h:28, > from arch/arm/include/asm/tlbflush.h:204, > from arch/arm/include/asm/pgtable.h:28, > from arch/arm/include/asm/idmap.h:5, > from arch/arm/mm/idmap.c:6: > include/linux/mm.h: In function 'pmd_alloc': > include/linux/mm.h:1396:2: error: implicit declaration of function 'pud_none' [-Werror=implicit-function-declaration] > include/linux/mm.h:1397:3: error: implicit declaration of function 'pmd_offset' [-Werror=implicit-function-declaration] > include/linux/mm.h:1397:7: warning: pointer/integer type mismatch in conditional expression [enabled by default] > include/linux/mm.h: In function 'pte_lockptr': > include/linux/mm.h:1433:2: error: implicit declaration of function 'pmd_page' [-Werror=implicit-function-declaration] > include/linux/mm.h:1433:2: warning: passing argument 1 of 'ptlock_ptr' makes pointer from integer without a cast [enabled by default] > include/linux/mm.h:1425:27: note: expected 'struct page *' but argument is of type 'int' > include/linux/mm.h: In function 'pgtable_init': > include/linux/mm.h:1476:2: error: implicit declaration of function 'pgtable_cache_init' [-Werror=implicit-function-declaration] > In file included from arch/arm/include/asm/pgtable.h:33:0, > from arch/arm/include/asm/idmap.h:5, > from arch/arm/mm/idmap.c:6: > arch/arm/include/asm/pgtable-2level.h: At top level: > arch/arm/include/asm/pgtable-2level.h:159:22: error: conflicting types for 'pmd_offset' > include/linux/mm.h:1397:9: note: previous implicit declaration of 'pmd_offset' was here > In file included from arch/arm/include/asm/idmap.h:5:0, > from arch/arm/mm/idmap.c:6: > arch/arm/include/asm/pgtable.h:255:1: error: conflicting types for 'pte_mkwrite' > include/linux/mm.h:589:9: note: previous implicit declaration of 'pte_mkwrite' was here > > and on and on ... > > Caused by commit 0d9ad4220e6d ("mm: per-thread vma caching") which adds > the include of linux/vmacache.h (which includes linux/mm.h) into > linux/sched.h ... There is a reason that we did not include linux/mm.h > into sched.h. Apologies, I was not aware of the "no mm.h in sched.h" rule. It broke builds on several archs. Thanks for looking into this. -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html