Re: early_node_mem()'s memory allocation policy

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Yinghai Lu
Date: Tuesday, October 26, 2010 - 10:49 pm

On 10/26/2010 03:18 PM, Jeremy Fitzhardinge wrote:

please check

[PATCH] x86, memblock: Fix early_node_mem with big reserved region.

Jeremy said Xen could reserve huge mem but still show as ram in e820.

early_node_mem could not find range because of start/end adjusting.

Let's use memblock_find_in_range instead ***_node. So get real top down in fallback path.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>

diff --git a/arch/x86/mm/numa_64.c b/arch/x86/mm/numa_64.c
index 60f4985..7ffc9b7 100644
--- a/arch/x86/mm/numa_64.c
+++ b/arch/x86/mm/numa_64.c
@@ -178,11 +178,8 @@ static void * __init early_node_mem(int nodeid, unsigned long start,
 
 	/* extend the search scope */
 	end = max_pfn_mapped << PAGE_SHIFT;
-	if (end > (MAX_DMA32_PFN<<PAGE_SHIFT))
-		start = MAX_DMA32_PFN<<PAGE_SHIFT;
-	else
-		start = MAX_DMA_PFN<<PAGE_SHIFT;
-	mem = memblock_x86_find_in_range_node(nodeid, start, end, size, align);
+	start = MAX_DMA_PFN << PAGE_SHIFT;
+	mem = memblock_find_in_range(start, end, size, align);
 	if (mem != MEMBLOCK_ERROR)
 		return __va(mem);
 
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
early_node_mem()'s memory allocation policy, Jeremy Fitzhardinge, (Tue Oct 26, 3:18 pm)
Re: early_node_mem()'s memory allocation policy, Yinghai Lu, (Tue Oct 26, 10:49 pm)
Re: early_node_mem()'s memory allocation policy, Konrad Rzeszutek Wilk, (Wed Oct 27, 7:28 am)
Re: early_node_mem()'s memory allocation policy, Jeremy Fitzhardinge, (Wed Oct 27, 1:21 pm)
[tip:x86/urgent] x86, memblock: Fix early_node_mem with bi ..., tip-bot for Yinghai Lu, (Thu Oct 28, 4:40 pm)