Messages in this thread | | | Date | Sat, 19 Feb 2011 20:17:11 -0800 | Subject | Re: [PATCH 2/4] x86, numa: Do not adjust start/end for early_node_mem() | From | Yinghai Lu <> |
| |
On Sat, Feb 19, 2011 at 8:03 PM, David Rientjes <rientjes@google.com> wrote: > On Fri, 18 Feb 2011, Yinghai Lu wrote: > >> Index: linux-2.6/arch/x86/mm/numa_64.c >> =================================================================== >> --- linux-2.6.orig/arch/x86/mm/numa_64.c >> +++ linux-2.6/arch/x86/mm/numa_64.c >> @@ -164,14 +164,9 @@ static void * __init early_node_mem(int >> unsigned long mem; >> >> /* >> - * put it on high as possible >> - * something will go with NODE_DATA >> + * memblock find will follow top-down, so don't need to adjust >> + * start anymore >> */ >> - if (start < (MAX_DMA_PFN<<PAGE_SHIFT)) >> - start = MAX_DMA_PFN<<PAGE_SHIFT; >> - if (start < (MAX_DMA32_PFN<<PAGE_SHIFT) && >> - end > (MAX_DMA32_PFN<<PAGE_SHIFT)) >> - start = MAX_DMA32_PFN<<PAGE_SHIFT; >> mem = memblock_x86_find_in_range_node(nodeid, start, end, size, align); >> if (mem != MEMBLOCK_ERROR) >> return __va(mem); >> > > The old code guarantees that the range is from a single zone, and even > though memblock may be top -> down, it seems like there would be > configurations where this would still be an issue (perhaps simulating it > with numa=fake for testing?) if it crosses the boundary.
memblock_x86_find_in_range_node() will go over with early_node_map[]. so it will always can get right on node allocation.
Thanks
Yinghai -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |