Fix fallback of i386 NUMA kernel on non NUMA systems From: Mel Gorman When booting a i386 NUMA kernel on a non NUMA machine there were a lot of bad page messages. Fix this. Signed-off-by: Andi Kleen diff -rup -X /usr/src/patchset-0.6/bin//dontdiff linux-2.6.23-rc3-clean/arch/i386/mm/discontig.c linux-2.6.23-rc3-numai386/arch/i386/mm/discontig.c --- linux-2.6.23-rc3-clean/arch/i386/mm/discontig.c 2007-08-13 05:25:24.000000000 +0100 +++ linux-2.6.23-rc3-numai386/arch/i386/mm/discontig.c 2007-08-16 16:55:51.000000000 +0100 @@ -245,13 +245,17 @@ static unsigned long calculate_numa_rema nid, node_end_pfn[nid], node_end_pfn[nid] - size); if (node_end_pfn[nid] & (PTRS_PER_PTE-1)) { + unsigned long align_pages; + align_pages = node_end_pfn[nid] & (PTRS_PER_PTE-1); + /* * Align node_end_pfn[] and node_remap_start_pfn[] to * pmd boundary. remap_numa_kva will barf otherwise. */ printk("Shrinking node %d further by %ld pages for proper alignment\n", - nid, node_end_pfn[nid] & (PTRS_PER_PTE-1)); - size += node_end_pfn[nid] & (PTRS_PER_PTE-1); + nid, align_pages); + size += align_pages; + reserve_pages += align_pages; } node_end_pfn[nid] -= size;