Hi Mike, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.18 next-20180821] [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/Mike-Kravetz/huge_pmd_unshare-migration-and-flushing/20180822-050255 config: i386-tinyconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): arch/x86/mm/fault.o: In function `huge_pmd_sharing_possible': >> fault.c:(.text+0xa06): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here arch/x86/mm/pgtable.o: In function `huge_pmd_sharing_possible': pgtable.c:(.text+0x4): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/fork.o: In function `huge_pmd_sharing_possible': fork.c:(.text+0x309): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sysctl.o: In function `huge_pmd_sharing_possible': sysctl.c:(.text+0x0): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/core.o: In function `huge_pmd_sharing_possible': core.c:(.text+0x299): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/loadavg.o: In function `huge_pmd_sharing_possible': loadavg.c:(.text+0x0): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/clock.o: In function `huge_pmd_sharing_possible': clock.c:(.text+0x0): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/cputime.o: In function `huge_pmd_sharing_possible': cputime.c:(.text+0x0): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/idle.o: In function `huge_pmd_sharing_possible': idle.c:(.text+0x36): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/fair.o: In function `huge_pmd_sharing_possible': fair.c:(.text+0x864): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/rt.o: In function `huge_pmd_sharing_possible': rt.c:(.text+0x72b): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/deadline.o: In function `huge_pmd_sharing_possible': deadline.c:(.text+0xac7): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/wait.o: In function `huge_pmd_sharing_possible': wait.c:(.text+0x16e): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/wait_bit.o: In function `huge_pmd_sharing_possible': wait_bit.c:(.text+0x7b): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/swait.o: In function `huge_pmd_sharing_possible': swait.c:(.text+0x4): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here kernel/sched/completion.o: In function `huge_pmd_sharing_possible': completion.c:(.text+0x4): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/filemap.o: In function `huge_pmd_sharing_possible': filemap.c:(.text+0x3ca): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/page_alloc.o: In function `huge_pmd_sharing_possible': page_alloc.c:(.text+0xa95): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/swap.o: In function `huge_pmd_sharing_possible': swap.c:(.text+0x551): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/vmscan.o: In function `huge_pmd_sharing_possible': vmscan.c:(.text+0x5bb): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/shmem.o: In function `huge_pmd_sharing_possible': shmem.c:(.text+0x6d): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/util.o: In function `huge_pmd_sharing_possible': util.c:(.text+0xc): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/compaction.o: In function `huge_pmd_sharing_possible': compaction.c:(.text+0x0): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/debug.o: In function `huge_pmd_sharing_possible': debug.c:(.text+0x0): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/gup.o: In function `huge_pmd_sharing_possible': gup.c:(.text+0x17c): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/memory.o: In function `huge_pmd_sharing_possible': memory.c:(.text+0x5f9): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/mincore.o: In function `huge_pmd_sharing_possible': mincore.c:(.text+0x150): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/mlock.o: In function `huge_pmd_sharing_possible': mlock.c:(.text+0x245): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/mmap.o: In function `huge_pmd_sharing_possible': mmap.c:(.text+0x565): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/mprotect.o: In function `huge_pmd_sharing_possible': mprotect.c:(.text+0x39): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/mremap.o: In function `huge_pmd_sharing_possible': mremap.c:(.text+0xf2): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/page_vma_mapped.o: In function `huge_pmd_sharing_possible': page_vma_mapped.c:(.text+0x0): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/pagewalk.o: In function `huge_pmd_sharing_possible': pagewalk.c:(.text+0x13d): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here mm/rmap.o: In function `huge_pmd_sharing_possible': rmap.c:(.text+0x3bb): multiple definition of `huge_pmd_sharing_possible' arch/x86/mm/init_32.o:init_32.c:(.text+0x0): first defined here --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation