From patchwork Thu Jan 8 10:29:21 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 2.6.28-rc9 panics with crashkernel=256M while booting Date: Thu, 08 Jan 2009 00:29:21 -0000 From: Chandru X-Patchwork-Id: 17320 Message-Id: <200901081559.22204.chandru@in.ibm.com> To: Dave Hansen Cc: linuxppc-dev@ozlabs.org, Andrew Morton , Paul Mackerras , linux-kernel@vger.kernel.org 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 Cc: Dave Hansen --- 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 #include #include +#include #include #include #include @@ -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().