• Dave Hansen's avatar
    [PATCH] Introduce new Kconfig option for NUMA or DISCONTIG · 93b7504e
    Dave Hansen authored
    There is some confusion that arose when working on SPARSEMEM patch between
    what is needed for DISCONTIG vs. NUMA.
    
    Multiple pg_data_t's are needed for DISCONTIGMEM or NUMA, independently.
    All of the current NUMA implementations require an implementation of
    DISCONTIG.  Because of this, quite a lot of code which is really needed for
    NUMA is actually under DISCONTIG #ifdefs.  For SPARSEMEM, we changed some
    of these #ifdefs to CONFIG_NUMA, but that broke the DISCONTIG=y and NUMA=n
    case.
    
    Introducing this new NEED_MULTIPLE_NODES config option allows code that is
    needed for both NUMA or DISCONTIG to be separated out from code that is
    specific to DISCONTIG.
    
    One great advantage of this approach is that it doesn't require every
    architecture to be converted over.  All of the current implementations
    should "just work", only the ones implementing SPARSEMEM will have to be
    fixed up.
    
    The change to free_area_init() makes it work inside, or out of the new
    config option.
    Signed-off-by: default avatarDave Hansen <haveblue@us.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    93b7504e
page_alloc.c 61.9 KB