On Wednesday 07 January 2009 22:55:25 Dave Hansen wrote:
> 
> I'm just suggesting making your fix in the ppc code instead of in
> mm/bootmem.c.
> 

Here are the changes that helped to boot the kernel. Please review it.
Thanks,

Signed-off-by: Chandru S <chan...@linux.vnet.ibm.com>
Cc: Dave Hansen <d...@linux.vnet.ibm.com>
---

 arch/powerpc/mm/numa.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

--- linux-2.6.28/arch/powerpc/mm/numa.c.orig    2009-01-08 03:20:41.000000000 
-0600
+++ linux-2.6.28/arch/powerpc/mm/numa.c 2009-01-08 03:50:41.000000000 -0600
@@ -16,6 +16,7 @@
 #include <linux/module.h>
 #include <linux/nodemask.h>
 #include <linux/cpu.h>
+#include <linux/pfn.h>
 #include <linux/notifier.h>
 #include <linux/lmb.h>
 #include <linux/of.h>
@@ -898,9 +899,17 @@ static void mark_reserved_regions_for_ni
                         * if reserved region extends past active region
                         * then trim size to active region
                         */
-                       if (end_pfn > node_ar.end_pfn)
+                       if (end_pfn > node_ar.end_pfn) {
                                reserve_size = (node_ar.end_pfn << PAGE_SHIFT)
                                        - (start_pfn << PAGE_SHIFT);
+                               /*
+                                * resize it further if the reservation could
+                                * cross the last page in this node
+                                */
+                               if (PFN_UP(physbase+reserve_size) >
+                                                node_end_pfn)
+                                       reserve_size -= PAGE_SIZE;
+                       }
                        /*
                         * Only worry about *this* node, others may not
                         * yet have valid NODE_DATA().
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to