• Tejun Heo's avatar
    memblock: Separate out memblock_find_in_range_node() · e6498040
    Tejun Heo authored
    Node affine memblock allocation logic is currently implemented across
    memblock_alloc_nid() and memblock_alloc_nid_region().  This
    reorganizes it such that it resembles that of non-NUMA allocation API.
    
    Area finding is collected and moved into new exported function
    memblock_find_in_range_node() which is symmetrical to non-NUMA
    counterpart - it handles @start/@end and understands ANYWHERE and
    ACCESSIBLE.  memblock_alloc_nid() now simply calls
    memblock_find_in_range_node() and reserves the returned area.
    
    This makes memblock_alloc[_try]_nid() observe ACCESSIBLE limit on node
    affine allocations too (again, this doesn't make any difference for
    the current sole user - sparc64).
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Link: http://lkml.kernel.org/r/1310460395-30913-8-git-send-email-tj@kernel.org
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
    e6498040
memblock.c 21.5 KB