[PATCH 2/3] x86 align highmem zone boundries with NUMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <[email protected]>
---
 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux