Re: kdump broken on 2.6.37-rc4

From: Vivek Goyal
Date: Thu Dec 16 2010 - 17:01:42 EST


On Thu, Dec 16, 2010 at 09:28:49AM -0800, Yinghai Lu wrote:
> On 12/16/2010 08:28 AM, H. Peter Anvin wrote:
> > On 12/16/2010 06:39 AM, Vivek Goyal wrote:
> >> On Wed, Dec 15, 2010 at 08:29:01PM -0800, Yinghai Lu wrote:
> >>> please check
> >>>
> >>> [PATCH] x86, crashkernel, 32bit: only try to get range under 512M
> >>>
> >>> Steanishlaw report kdump is 32bit is broken.
> >>>
> >>> in misc.c for decompresser, it will do sanity checking to make sure heap
> >>> heap under 512M.
> >>
> >> Thanks Yinghai. I am wondering why on 32bit heap has to be with-in 512MB.
> >> I think you are referring to following check in
> >> arch/x86/boot/compressed/misc.c.
> >>
> >> if (end > ((-__PAGE_OFFSET-(512 <<20)-1) & 0x7fffffff))
> >> error("Destination address too large");
> >>
> >> It was introduced here.
> >>
> >> commit 968de4f02621db35b8ae5239c8cfc6664fb872d8
> >> Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>
> >> Date: Thu Dec 7 02:14:04 2006 +0100
> >>
> >> [PATCH] i386: Relocatable kernel support
> >>
> >> Eric,
> >>
> >> It has been long. By any chance would you remember where does above
> >> constraint come from?
> >>
> >
> > It might, in fact, be bogus; specifically a proxy for the fact that we
> > need the kernel memory including bss and brk below the lowmem boundary,
> > which isn't well-defined.
>
> the brk is complaining if i change that to
>
> if (end > ((-__PAGE_OFFSET-(128 <<20)-1) & 0x7fffffff))
> error("Destination address too large");
>

Yinghai,

On my system above change works fine and I can boot into second kernel. So
it will boil down to knowing what are the exact constraints on heap for
decompression and for 32bit can we allow heap upto 896MB or not.

Thanks
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/