• Tony Luck's avatar
    [IA64] Fix section mismatch in contig.c version of per_cpu_init() · 4b9ddc7c
    Tony Luck authored
    There is a section mismatch when building CONFIG_FLATMEM=y kernels
    that also have CONFIG_HOTPLUG_CPU=y
    
    WARNING: vmlinux.o(.text+0x5a902): Section mismatch: reference to \
    .init.text:__alloc_bootmem (between 'per_cpu_init' and 'count_pages')
    
    The issue occurs because per_cpu_init() in mm/contig.c is
    marked __cpuinit (which is #define'd to nothing on a hot
    plug cpu configuration) call __alloc_bootmem() (which is
    an __init function).  The usage is actually safe because
    the __alloc_bootmem() is inside an "if (first_time)" test
    so that the call is only made while it is still legal to
    do so.
    
    But the warning is irritating.  Move the allocation to
    find_memory().
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    4b9ddc7c
contig.c 7.55 KB