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

Yinghai Lu yinghai at kernel.org
Fri Oct 25 01:48:29 EDT 2013


On Thu, Oct 24, 2013 at 12:27 PM, Vivek Goyal <vgoyal at redhat.com> wrote:
> On Thu, Oct 24, 2013 at 12:24:57PM -0700, Yinghai Lu wrote:
>> On Thu, Oct 24, 2013 at 12:18 PM, Vivek Goyal <vgoyal at redhat.com> wrote:
>> > On Thu, Oct 24, 2013 at 12:15:25PM -0700, Yinghai Lu wrote:
>> >
>> > Also keeping things simple by not trying to *impose* a new crashkernel=
>> > syntax on existing crashkernel=xM users.
>>
>> Existing user that have crashkernel=xM working with their old kernel
>> and old kexec-tools, they still could keep their old command line and
>> old kexec-tools
>> with new updated kernel.
>> We should not change semantics to surprise them.
>
> Old users will get reservation still below 896MB.
>
> It will go above 896MB only if memory could not be allocated below 896MB.
>
> In the past reservation will fail and kexec-tools will fail.
> Now reservation will succeed but kexec-tools will fail.
>
> So end result a user sees is that kexec-tools fails. So I don't see how
> we are breaking existing installations or user setups.

case could be: if user add more memory and put more pcie cards, and
second kernel will need more ram and OOM there.
so user could just increase crashkernel=512M to crashkernel=1G.

without Cong's patch, kernel will fail to reserve, and user would dig
to change it
to crashkernel=1G,high, and update kexec-tools.

with Cong's patch, kernel will reserve other range like between 896
and 4G, old kexec-tools either
fail to load second kernel or hang in purgatory or early stage of
second kernel, or other unknown behavior.

I would think first path is much clear and predicted.

If my memory is right, HPA did not like idea that we try below 896M,
and then under 4G and then above 4G.
and want us to have ",high" solution. Not sure if he would change his mind.
Also you will need and #ifdef CONFIG_X86_64 for 896M/4G searching code
so it will not confuse the
32bit arch.

Thanks

Yinghai



More information about the kexec mailing list