• Raghavendra K T's avatar
    arch/powerpc/mm/numa.c: do not allocate bootmem memory for non existing nodes · c118baf8
    Raghavendra K T authored
    With the setup_nr_nodes(), we have already initialized
    node_possible_map.  So it is safe to use for_each_node here.
    
    There are many places in the kernel that use hardcoded 'for' loop with
    nr_node_ids, because all other architectures have numa nodes populated
    serially.  That should be reason we had maintained the same for
    powerpc.
    
    But, since sparse numa node ids possible on powerpc, we unnecessarily
    allocate memory for non existent numa nodes.
    
    For e.g., on a system with 0,1,16,17 as numa nodes nr_node_ids=18 and
    we allocate memory for nodes 2-14.  This patch we allocate memory for
    only existing numa nodes.
    
    The patch is boot tested on a 4 node tuleta, confirming with printks
    that it works as expected.
    Signed-off-by: default avatarRaghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
    Cc: Vladimir Davydov <vdavydov@parallels.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Anton Blanchard <anton@samba.org>
    Cc: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
    Cc: Greg Kurz <gkurz@linux.vnet.ibm.com>
    Cc: Grant Likely <grant.likely@linaro.org>
    Cc: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    c118baf8
numa.c 39.2 KB