Messages in this thread Patch in this message | | | From | Chandru <> | Subject | Re: 2.6.28-rc9 panics with crashkernel=256M while booting | Date | Thu, 8 Jan 2009 15:59:21 +0530 |
| |
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 <chandru@linux.vnet.ibm.com> Cc: Dave Hansen <dave@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().
| |