On Wed, 18 Oct 2017 18:41:44 +0800 kbuild test robot <fengguang.wu@xxxxxxxxx> wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: a7dd40274d75326ca868479c62090b1198a357ad > commit: 430676b385fb341d5a33950bae284d0df2e70117 [6243/6567] mm: deferred_init_memmap improvements > config: x86_64-randconfig-it0-10181522 (attached as .config) > compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 > reproduce: > git checkout 430676b385fb341d5a33950bae284d0df2e70117 > # save the attached .config to linux build tree > make ARCH=x86_64 > > All warnings (new ones prefixed by >>): > > >> WARNING: vmlinux.o(.text.unlikely+0x5fb7): Section mismatch in reference from the function __def_free() to the function .init.text:__free_pages_boot_core() > The function __def_free() references > the function __init __free_pages_boot_core(). > This is often because __def_free lacks a __init > annotation or the annotation of __free_pages_boot_core is wrong. This? --- a/mm/page_alloc.c~mm-deferred_init_memmap-improvements-fix +++ a/mm/page_alloc.c @@ -1448,7 +1448,7 @@ static inline void __init pgdat_init_rep * Helper for deferred_init_range, free the given range, reset the counters, and * return number of pages freed. */ -static inline unsigned long __def_free(unsigned long *nr_free, +static unsigned long __init __def_free(unsigned long *nr_free, unsigned long *free_base_pfn, struct page **page) { @@ -1462,8 +1462,8 @@ static inline unsigned long __def_free(u return nr; } -static unsigned long deferred_init_range(int nid, int zid, unsigned long pfn, - unsigned long end_pfn) +static unsigned long __init deferred_init_range(int nid, int zid, + unsigned long pfn, unsigned long end_pfn) { struct mminit_pfnnid_cache nid_init_state = { }; unsigned long nr_pgmask = pageblock_nr_pages - 1; _ -- 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=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>