• Michal Hocko's avatar
    mm/memblock.c: do not complain about top-down allocations for !MEMORY_HOTREMOVE · e3d301ca
    Michal Hocko authored
    Mike Rapoport is converting architectures from bootmem to nobootmem
    allocator.  While doing so for m68k Geert has noticed that he gets a
    scary looking warning:
    
      WARNING: CPU: 0 PID: 0 at mm/memblock.c:230
      memblock_find_in_range_node+0x11c/0x1be
      memblock: bottom-up allocation failed, memory hotunplug may be affected
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper Not tainted
      4.18.0-rc3-atari-01343-gf2fb5f2e09a97a3c-dirty #7
      Call Trace: __warn+0xa8/0xc2
        kernel_pg_dir+0x0/0x1000
        netdev_lower_get_next+0x2/0x22
        warn_slowpath_fmt+0x2e/0x36
        memblock_find_in_range_node+0x11c/0x1be
        memblock_find_in_range_node+0x11c/0x1be
        memblock_find_in_range_node+0x0/0x1be
        vprintk_func+0x66/0x6e
        memblock_virt_alloc_internal+0xd0/0x156
        netdev_lower_get_next+0x2/0x22
        netdev_lower_get_next+0x2/0x22
        kernel_pg_dir+0x0/0x1000
        memblock_virt_alloc_try_nid_nopanic+0x58/0x7a
        netdev_lower_get_next+0x2/0x22
        kernel_pg_dir+0x0/0x1000
        kernel_pg_dir+0x0/0x1000
        EXPTBL+0x234/0x400
        EXPTBL+0x234/0x400
        alloc_node_mem_map+0x4a/0x66
        netdev_lower_get_next+0x2/0x22
        free_area_init_node+0xe2/0x29e
        EXPTBL+0x234/0x400
        paging_init+0x430/0x462
        kernel_pg_dir+0x0/0x1000
        printk+0x0/0x1a
        EXPTBL+0x234/0x400
        setup_arch+0x1b8/0x22c
        start_kernel+0x4a/0x40a
        _sinittext+0x344/0x9e8
    
    The warning is basically saying that a top-down allocation can break
    memory hotremove because memblock allocation is not movable.  But m68k
    doesn't even support MEMORY_HOTREMOVE so there is no point to warn about
    it.
    
    Make the warning conditional only to configurations that care.
    
    Link: http://lkml.kernel.org/r/20180706061750.GH32658@dhcp22.suse.czSigned-off-by: default avatarMichal Hocko <mhocko@suse.com>
    Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Tested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: Greg Ungerer <gerg@linux-m68k.org>
    Cc: Sam Creasey <sammy@sammy.net>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    e3d301ca
memblock.c 50.7 KB