Messages in this thread Patch in this message | | | Date | Tue, 9 May 2006 12:05:35 +0100 | Subject | [PATCH 2/3] x86 align highmem zone boundries with NUMA | From | Andy Whitcroft <> |
| |
x86 align highmem zone boundries with NUMA
When in x86 NUMA mode we allocate struct pages's node local and map them into the kernel virtual address space in the remap space. This space cuts into the end of ZONE_NORMAL. When we round ZONE_NORMAL down we must ensure we maintain the zone boundry constraint, we must round to MAX_ORDER.
Signed-off-by: Andy Whitcroft <apw@shadowen.org> --- discontig.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) diff -upN reference/arch/i386/mm/discontig.c current/arch/i386/mm/discontig.c --- reference/arch/i386/mm/discontig.c +++ current/arch/i386/mm/discontig.c @@ -304,10 +304,13 @@ unsigned long __init setup_memory(void) /* partially used pages are not usable - thus round upwards */ system_start_pfn = min_low_pfn = PFN_UP(init_pg_tables_end); - system_max_low_pfn = max_low_pfn = find_max_low_pfn() - reserve_pages; + max_low_pfn = find_max_low_pfn() - reserve_pages; printk("reserve_pages = %ld find_max_low_pfn() ~ %ld\n", reserve_pages, max_low_pfn + reserve_pages); printk("max_pfn = %ld\n", max_pfn); + + system_max_low_pfn = max_low_pfn = zone_boundry_align_pfn(max_low_pfn); + #ifdef CONFIG_HIGHMEM highstart_pfn = highend_pfn = max_pfn; if (max_pfn > system_max_low_pfn) - 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/
| |