forked from Minki/linux
[IA64] clean up sparsemem memory_present call
Eliminate arch specific memory_present call ia64 NUMA by utilizing sparse_memory_present_with_active_regions. Acked-by: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Bob Picco <bob.picco@hp.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
f1c0afa2e8
commit
524fd988bb
@ -412,37 +412,6 @@ static void __init memory_less_nodes(void)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPARSEMEM
|
||||
/**
|
||||
* register_sparse_mem - notify SPARSEMEM that this memory range exists.
|
||||
* @start: physical start of range
|
||||
* @end: physical end of range
|
||||
* @arg: unused
|
||||
*
|
||||
* Simply calls SPARSEMEM to register memory section(s).
|
||||
*/
|
||||
static int __init register_sparse_mem(unsigned long start, unsigned long end,
|
||||
void *arg)
|
||||
{
|
||||
int nid;
|
||||
|
||||
start = __pa(start) >> PAGE_SHIFT;
|
||||
end = __pa(end) >> PAGE_SHIFT;
|
||||
nid = early_pfn_to_nid(start);
|
||||
memory_present(nid, start, end);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __init arch_sparse_init(void)
|
||||
{
|
||||
efi_memmap_walk(register_sparse_mem, NULL);
|
||||
sparse_init();
|
||||
}
|
||||
#else
|
||||
#define arch_sparse_init() do {} while (0)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* find_memory - walk the EFI memory map and setup the bootmem allocator
|
||||
*
|
||||
@ -694,10 +663,11 @@ void __init paging_init(void)
|
||||
|
||||
max_dma = virt_to_phys((void *) MAX_DMA_ADDRESS) >> PAGE_SHIFT;
|
||||
|
||||
arch_sparse_init();
|
||||
|
||||
efi_memmap_walk(filter_rsvd_memory, count_node_pages);
|
||||
|
||||
sparse_memory_present_with_active_regions(MAX_NUMNODES);
|
||||
sparse_init();
|
||||
|
||||
#ifdef CONFIG_VIRTUAL_MEM_MAP
|
||||
vmalloc_end -= PAGE_ALIGN(ALIGN(max_low_pfn, MAX_ORDER_NR_PAGES) *
|
||||
sizeof(struct page));
|
||||
|
Loading…
Reference in New Issue
Block a user