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