• Andy Whitcroft's avatar
    [PATCH] sparsemem hotplug base · 29751f69
    Andy Whitcroft authored
    Make sparse's initalization be accessible at runtime.  This allows sparse
    mappings to be created after boot in a hotplug situation.
    
    This patch is separated from the previous one just to give an indication how
    much of the sparse infrastructure is *just* for hotplug memory.
    
    The section_mem_map doesn't really store a pointer.  It stores something that
    is convenient to do some math against to get a pointer.  It isn't valid to
    just do *section_mem_map, so I don't think it should be stored as a pointer.
    
    There are a couple of things I'd like to store about a section.  First of all,
    the fact that it is !NULL does not mean that it is present.  There could be
    such a combination where section_mem_map *is* NULL, but the math gets you
    properly to a real mem_map.  So, I don't think that check is safe.
    
    Since we're storing 32-bit-aligned structures, we have a few bits in the
    bottom of the pointer to play with.  Use one bit to encode whether there's
    really a mem_map there, and the other ...
    29751f69
page_alloc.c 62.6 KB