[PATCH] x86, kdump: crashkernel=X try to reserve below 896M first, then try below 4G, then MAXMEM

Vivek Goyal vgoyal at redhat.com
Fri Oct 18 08:38:37 EDT 2013


On Thu, Oct 17, 2013 at 08:50:07PM -0700, Yinghai Lu wrote:

[..]
> > Previously high reservation (reservation above 896M) will anyway fail. So
> > instead of failing, if we try reservation in higher memory areas why that
> > would break old kexec-tools?
> 
> If thel old kexec-tools would fail, we should let them fail early as possible,
> do not reserve at first point.

A user does not care if they get the message "memory nor reserved" or if
they get the message that "could not find a suitable memory hole at
address X".

> 
> >
> > IOW, previously anyway kexec-tools will not work as no memory will be
> > reserved in higher memory area. Now memory will be reserved but old
> > kexec-tools should fail as it can't load in that area.
> >
> > If that works, then one would use crashkernel=X,high only if he is
> > particualr that memory reservation comes from area above 4G (despite
> > the fact that same memory could have been reserved below 4G too).
> 
> My point:
> Push user to use ",high" as more as possible, so we only to handle one
> path eventually.
> for old kernel, leave them to use old grammer. do not need to change it.

I don't understand this. Why we should push users to use ",high" syntax.
That is an option. Those who want to use it, should use it.

We have been using crashkernel=XM for a long time now. And it makes sense
to extend this option to be able to reserve memory at higher addresses
if asked memory is not available at lower addresses.

You are not thinking about ease of use here for existing users.

> 
> Also boot loader should always have different entry for old kernel and
> new kernel.

What does memory reservation location has to do with kernel entry point?
If it is a 64bit bzImage, we will use 64bit entry point by default, isn't
it? Does not matter whether memory is reserved above 4G or not.

I think it makes sense that existing crashkernel=XM usres be able to
reserve memory in higher memory area if sufficient memory is not available
below 896M or below 4G. Those who always want memory reservation above 4G
they should use ",high" syntax and enforce memory allocation above 4G.

Thanks
Vivek



More information about the kexec mailing list