While reserving KVA for lmem_maps of node, we have to make sure that
node_remap_start_pfn[] is aligned to a proper pmd boundary.
(node_remap_start_pfn[] gets its value from node_end_pfn[])

Signed-off-by: Ravikiran Thirumalai <[EMAIL PROTECTED]>
Signed-off-by: Shai Fultheim <[EMAIL PROTECTED]>

Index: linux-2.6.13-rc3/arch/i386/mm/discontig.c
===================================================================
--- linux-2.6.13-rc3.orig/arch/i386/mm/discontig.c      2005-07-26 
15:10:25.000000000 -0700
+++ linux-2.6.13-rc3/arch/i386/mm/discontig.c   2005-07-26 16:27:43.000000000 
-0700
@@ -243,6 +243,14 @@
                /* now the roundup is correct, convert to PAGE_SIZE pages */
                size = size * PTRS_PER_PTE;
 
+               if (node_end_pfn[nid] & (PTRS_PER_PTE-1)) {
+                       /* 
+                        * Adjust size if node_end_pfn is not on a proper 
+                        * pmd boundary. remap_numa_kva will barf otherwise.
+                        */
+                       size +=  node_end_pfn[nid] & (PTRS_PER_PTE-1);
+               }
+
                /*
                 * Validate the region we are allocating only contains valid
                 * pages.
-
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/

Reply via email to