memblock, x86: Replace memblock_x86_find_in_range_node() with generic memblock calls
With the previous changes, generic NUMA aware memblock API has feature parity with memblock_x86_find_in_range_node(). There currently are two users - x86 setup_node_data() and __alloc_memory_core_early() in nobootmem.c. This patch converts the former to use memblock_alloc_nid() and the latter memblock_find_range_in_node(), and kills memblock_x86_find_in_range_node() and related functions including find_memory_early_core_early() in page_alloc.c. Signed-off-by: Tejun Heo <tj@kernel.org> Link: http://lkml.kernel.org/r/1310460395-30913-9-git-send-email-tj@kernel.org Cc: Yinghai Lu <yinghai@kernel.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
e64980405c
commit
eb40c4c27f
6 changed files with 2 additions and 95 deletions
|
@ -192,8 +192,6 @@ int __init numa_add_memblk(int nid, u64 start, u64 end)
|
|||
/* Initialize NODE_DATA for a node on the local memory */
|
||||
static void __init setup_node_data(int nid, u64 start, u64 end)
|
||||
{
|
||||
const u64 nd_low = PFN_PHYS(MAX_DMA_PFN);
|
||||
const u64 nd_high = PFN_PHYS(max_pfn_mapped);
|
||||
const size_t nd_size = roundup(sizeof(pg_data_t), PAGE_SIZE);
|
||||
bool remapped = false;
|
||||
u64 nd_pa;
|
||||
|
@ -224,17 +222,12 @@ static void __init setup_node_data(int nid, u64 start, u64 end)
|
|||
nd_pa = __pa(nd);
|
||||
remapped = true;
|
||||
} else {
|
||||
nd_pa = memblock_x86_find_in_range_node(nid, nd_low, nd_high,
|
||||
nd_size, SMP_CACHE_BYTES);
|
||||
if (!nd_pa)
|
||||
nd_pa = memblock_find_in_range(nd_low, nd_high,
|
||||
nd_size, SMP_CACHE_BYTES);
|
||||
nd_pa = memblock_alloc_nid(nd_size, SMP_CACHE_BYTES, nid);
|
||||
if (!nd_pa) {
|
||||
pr_err("Cannot find %zu bytes in node %d\n",
|
||||
nd_size, nid);
|
||||
return;
|
||||
}
|
||||
memblock_x86_reserve_range(nd_pa, nd_pa + nd_size, "NODE_DATA");
|
||||
nd = __va(nd_pa);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue