• Bob Picco's avatar
    [PATCH] sparsemem extreme implementation · 3e347261
    Bob Picco authored
    With cleanups from Dave Hansen <haveblue@us.ibm.com>
    
    SPARSEMEM_EXTREME makes mem_section a one dimensional array of pointers to
    mem_sections.  This two level layout scheme is able to achieve smaller
    memory requirements for SPARSEMEM with the tradeoff of an additional shift
    and load when fetching the memory section.  The current SPARSEMEM
    implementation is a one dimensional array of mem_sections which is the
    default SPARSEMEM configuration.  The patch attempts isolates the
    implementation details of the physical layout of the sparsemem section
    array.
    
    SPARSEMEM_EXTREME requires bootmem to be functioning at the time of
    memory_present() calls.  This is not always feasible, so architectures
    which do not need it may allocate everything statically by using
    SPARSEMEM_STATIC.
    Signed-off-by: default avatarAndy Whitcroft <apw@shadowen.org>
    Signed-off-by: default avatarBob Picco <bob.picco@hp.com>
    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>
    3e347261
mmzone.h 18.2 KB